您的位置:首页 > 编程语言 > Java开发

java 调用 sqlite

2016-05-02 15:17 363 查看
NOTICE: sqlite-jdbc 已经移到 Github:https://github.com/xerial/sqlite-jdbc.

SQLite JDBC 驱动

SQLite JDBC 是由 Taro L. Saito 开发, 用于 Java 访问和创建 SQLite 数据库文件的库。

我们 SQLite JDBC 库已经封装在一个JAR文件, 不需要在主流的操作系统如:Window, Mac OS X, Linux 等进行本地库配置。用法很简单, 下载我们的 sqlite-jdbc 库(JAR 文件), 然后添加到你的 class path中。

示例代码

CSDN Demo下载

与Zentus’ SQLite JDBC 有什么不同?

这个的 sqlite-jdbc 基于 Zentus’ SQLite JDBC driver 的分支。我们改善了两个方面:

通过嵌入每个编译后的SQLite本地库支持主流的操作系统

移除手动配置

在最初的版本中, 为了使用原生版本的sqlite-jdbc, 用户必须使用命令配置本地的代码路径(dll, jnilib, 文件等)等参数。例如,-Djava.library.path=(path to the dll, jnilib, etc.), or -Dorg.sqlite.lib.path等。配置这些变量的过程很容易出错和引起用户不必要的麻烦。我们的 SQLite JDBC 库完全抛弃了这些不必要的麻烦。

另外一个不同的地方是我们保留了 SQLite JDBC 库升级到最新版本的 SQLite 引擎。因为我们这个库是最热门的库之一。例如, SQLite JDBC 是 UTGB (University of Tokyo Genome Browser) Toolkit 的一个核心组件, 这个浏览器是使用我们程序来创建个性化的基因组浏览器。

使用方法

SQLite JDBC 是一个通过 JDBC API 访问 SQlite 数据库的库。 自行查阅 JDBC 指引或Oracle JDBC 开发文档

下载页面(或者使用Maven)中下载 sqlite-jdbc-(VERSION).jar 然后添加这个 jar 到 classpath中。

在你的代码中使用 org.sqlite.JDBC 打开驱动. (看下面的例子)

更多的示例

示例的使用方法(假设 sqlite-jdbc-(VERSION).jar 已经放进当前文件夹)

> javac Sample.java
> java -classpath ".;sqlite-jdbc-(VERSION).jar" Sample   # in Windows
or
> java -classpath ".:sqlite-jdbc-(VERSION).jar" Sample   # in Mac or Linux
name = leo
id = 1
name = yui
id = 2


Sample.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Sample {
public static void main(String[] args) {
Connection connection = null;
try {
// 创建一个数据库连接
connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
Statement statement = connection.createStatement();
// 设置 30 秒超时
statement.setQueryTimeout(30);

statement.executeUpdate("drop table if exists person");
statement.executeUpdate("create table person (id integer, name string)");
statement.executeUpdate("insert into person values(1, 'leo')");
statement.executeUpdate("insert into person values(2, 'yui')");
ResultSet rs = statement.executeQuery("select * from person");
while(rs.next()) {
// 读取结果集
System.out.println("name = " + rs.getString("name"));
System.out.println("id = " + rs.getInt("id"));
}
} catch(SQLException e) {
// 如果错误信息是 "out of memory",
// 大概是找不到数据库文件
System.err.println(e.getMessage());
} finally {
try {
if(connection != null)
connection.close();
} catch(SQLException e) {
// 连接关闭失败
System.err.println(e);
}
}
}
}


如何指定数据库文件

这个例子是选择 Windows 下的 C:\work\mydatabase.db

Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/work/mydatabase.db");


选择 UNIX(Linux, Mac OS X 等) 下的 /home/leo/work/mydatabase.db

Connection connection = DriverManager.getConnection("jdbc:sqlite:/home/leo/work/mydatabase.db");


怎样使用内存数据库

SQlite 支持内存数据库管理, 不需要创建任何的数据库文件。在你的Java代码中使用内存数据库可以下面的链接:

Connection connection = DriverManager.getConnection("jdbc:sqlite::memory:");


参考资料:

https://bitbucket.org/xerial/sqlite-jdbc

https://github.com/xerial/sqlite-jdbc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: