SQLite文本数据库JDBC连接使用介绍
SQLite三种JDBC驱动的区别
SQLite Wrapper by Christian
http://www.ch-werner.de/javasqlite/
这个驱动其实是在本地C/C++的SQLite上用JDBC实现进行了包装。大小100+K。
优点:体积小;速度快
缺点:依赖本地SQLite驱动
SQLite Zentus Driver
http://www.zentus.com/sqlitejdbc/
这个驱动是SQLite数据库的纯Java实现,仅需要这个驱动就可以操作SQLite数据库文件。大小2.6M。
优点:无其他依赖
缺点:速度稍慢(纯Java实现)
SQLite Xerial Driver
http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC
这个驱动扩展了Zentus版本,并且在jar中加入了Windows、Linux、Mac OS X三种本地SQLite驱动库,使四种驱动并存于jar包中。其目的在于在不同的操作系统中自动使用不同的本地驱动(在这三种以外的系统中则使用纯Java实现的驱动),既保证无其他依赖,又保证速度最快。但是因为包含这么多版本的驱动,所以就比较大,大小有3M。
优点:速度快;无其他依赖
缺点:体积大
xerial官方网站
注意sqlite-jdbc-3.8.5-pre1.jar 、sqlite-jdbc4-3.8.2-SNAPSHOT.jar 这两个版本在Linux服务器上有BUG
会出现 java.lang.NoClassDefFoundError: org/sqlite/NativeDB
解决方法:使用版本 sqlite-jdbc-3.7.15-M1.jar
使用Demo
public class JDBCConnectionUtil {
private ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>();
private static Logger logger = Logger.getLogger(JDBCConnectionUtil.class);
public Connection getConnection() throws Exception {
Connection connection = threadLocal.get();
if (connection == null || connection.isClosed()) {
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:D\:/kaven/workcopy/Database.db");
threadLocal.set(connection);
} catch (Exception e) {
logger.error("获取JDBC连接出错", e);
throw e;
}
}
return connection;
}
public int executeUpdate(String sql) throws Exception{
Connection connection = null;
Statement stmt = null;
int res = 0;
try {
connection = getConnection();
connection.setAutoCommit(false);
stmt = connection.createStatement();
res = stmt.executeUpdate(sql);
connection.commit();
stmt.close();
connection.close();
return res;
} catch (Exception e) {
logger.error("", e);
throw e;
}
}
/**
* 判断表是否存在
* @param tableName 表名
* @return
* @throws Exception
*/
public static boolean isExist(String tableName) throws Exception {
JDBCConnectionUtil util = new JDBCConnectionUtil();
String testSQL = "select id from "+tableName;
Connection connection = null;
Statement stmt = null;
try {
connection = util.getConnection();
stmt = connection.createStatement();
stmt.executeQuery(testSQL);
}catch(Exception e){
if(e.getMessage() != null && e.getMessage().indexOf("no such table: "+tableName) != -1){
return false;
}
throw e;
}
return true;
}
}
}
图形化客户端工具
Sqliteman-win32
该工具有个Bug:图形化操作时,在原表上添加新的字段时会把原来的PK主键弄掉,而且不能重新设置(使用SQL语句也不行,SQLite不支持设置主键约束的SQL指令)
解决办法:在工具中直接写SQL语句添加新字段。
相关推荐
"sqlite-jdbc-3.32.3.2.jar"是这个驱动程序的特定版本,它包含了用于连接SQLite数据库的必要组件。 这个版本的sqlite-jdbc驱动特别强调对信创(创新信息技术)环境的支持,这通常指的是中国自主研发的CPU架构和操作...
5. **常用数据库JDBC连接写法.txt** 这个文本文件很可能包含了常用的JDBC连接代码片段,例如基本的连接建立、查询和关闭过程,针对不同数据库的特定配置,以及处理异常的代码模板。 学习和理解这些内容将帮助...
使用Java JDBC连接SQLite数据库,首先需要在项目中引入SQLite-JDBC驱动。在Java代码中,通过以下步骤建立连接: 1. 引入JDBC驱动:在项目中添加SQLite-JDBC的依赖,例如,如果你使用Maven,可以在pom.xml文件中添加...
在Java中,使用SQLite JDBC驱动非常简单,只需添加对应的jar文件到类路径中,然后按照JDBC标准的步骤建立数据库连接,执行SQL语句。例如: ```java import java.sql.Connection; import java.sql.DriverManager; ...
SQLite JDBC Driver是一个用于Java应用程序与SQLite数据库之间进行连接的驱动程序。它允许Java开发者通过Java Database Connectivity (JDBC) API来操作SQLite数据库,实现数据的存取、查询、更新等功能。SQLite是一...
3. 创建连接:使用`JDBC`类的`connect()`方法创建到SQLite数据库的连接。例如: ```java Connection conn = JDBC.connect("jdbc:sqlite:my_database.db"); ``` 这将创建一个到名为`my_database.db`的SQLite...
这个特定的版本,sqlite-jdbc-3.32.3.2.jar,是针对SQLite数据库的一个接口,它允许Java应用程序通过JDBC(Java Database Connectivity)API连接到SQLite数据库,执行SQL查询,插入、更新和删除数据,以及进行其他...
在本文中,我们将深入探讨SQLite数据库的相关知识点,包括其原理、特性、API使用、数据类型、SQL语法以及常见操作。 1. SQLite原理与特性: - **轻量级**: SQLite不需要独立的服务器进程,它作为一个库直接嵌入到...
- **建立连接**:使用`DriverManager.getConnection("jdbc:sqlite:/path/to/your/database.db")`建立到SQLite数据库的连接。 - **执行SQL语句**:通过Statement或PreparedStatement对象执行查询、插入、更新和删除...
在Java中,我们通常会使用SQLite-JDBC驱动来连接SQLite数据库,这个驱动允许Java程序通过JDBC接口与SQLite数据库进行交互。 首先,我们需要在项目中引入SQLite-JDBC驱动。如果你使用的是Maven,可以在pom.xml文件中...
在Java中使用SQLite,通常需要一个特定的JDBC驱动,即sqlite-jdbc.jar,这个jar包提供了连接SQLite数据库的接口和方法。 SQLite数据库的特点: 1. **轻量级**:SQLite数据库文件就是一个普通的文件,无需安装和管理...
标题中的“Informix数据库驱动(亲测)”指的是用于连接Informix数据库的Java驱动程序,它允许Java应用程序通过JDBC(Java Database Connectivity)接口与Informix数据库进行交互。这个驱动已经由发布者亲自测试并确认...
- 开发者可以使用SQLite的API或绑定库(如Java的SQLite-JDBC,C#的System.Data.SQLite等)直接在代码中操作数据库。 - 在桌面应用中,SQLite常用于本地数据存储,例如配置信息、用户设置或者临时缓存数据。 4. **...
1. **选择数据库驱动**:根据所使用的数据库类型(如MySQL、SQL Server、Oracle或SQLite等),你需要选择对应的数据库驱动程序。例如,如果你使用的是MySQL,可能需要JDBC驱动(Java Database Connectivity)。 2. ...
本篇文章将详细介绍如何使用Java的jxl库来读取Excel文件,并将数据存入SQLite 3数据库。首先,确保在项目中引入了jxl和SQLite JDBC驱动的jar包,这两个库分别用于处理Excel文件和与SQLite数据库交互。 1. **jxl库的...
在Android系统中,SQLite 被深度集成到运行时环境中,每个应用都可以直接使用SQLite 数据库。考虑到移动设备资源有限,Android 并未采用 JDBC,而是提供了特定的 API 供开发者操作数据库。数据库文件通常存放在 `...
总的来说,通过正确配置MATLAB的类路径和使用SQLite JDBC驱动,你可以在Matlab 2012a环境中方便地与SQLite数据库进行交互,执行各种数据库操作,从而扩展MATLAB的功能,满足更复杂的数据处理需求。
标题中的“JDBC_Sybase.zip_jdbc Sybase _sybase _sybase jdbc_sybase jdbc dow”表明这是一个关于使用Java JDBC连接Sybase数据库的资源包。这个压缩文件可能包含了示例代码、数据库文件以及相关说明文档,帮助...
4. **API或驱动兼容性**:如果你通过编程语言与SQLite交互,确保所使用的API或驱动(如Python的sqlite3模块、Java的JDBC驱动等)也支持中文字符。 5. **查询优化**:虽然LIKE操作符方便,但其性能可能不如全文搜索...