SQLite是一种轻量级的开源数据库,其源代码可从www.sqlite.org获取,由于其源代码是C语言实现的,因此它提供的接口可以很简单地被C/C++程序使用。Java程序中如何使用它呢?本人初学Java,暂时也不了解Java程序如何调用C/C++库,但目前了解到两种方法:
(1)使用SQLite JDBC,这个使用很方便,只需要下载个jar包即可,缺点就是慢一点;
(2)使用SQLite Java Wrapper,这个据说需要安装本地库,比如windows下需要相应的dll文件,linux下需要相应的.so文件。
本人试过第(1)中方法,下面的例子只针对第(1)种方法,第(2)种方法留待以后深入学习。
1、下载SQLite JDBC jar包
下载地址:(1)http://www.xerial.org/maven/repository/artifact/org/xerial/sqlite-jdbc (下载最新的jar包,如:sqlite-jdbc-3.7.2.jar)
(2)http://www.zentus.com/sqlitejdbc/(网络上很多文章中提供了这个地址,但是本人在公司打不开)
2、将下载好的jar包放入%JAVA_HOME%/lib目录,并将该jar包完整路径添加到CLASSPATH环境变量中。
3、示例:
import java.sql.*; public class Test { public static void main(String[] args) throws Exception { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); stat.executeUpdate("drop table if exists people;"); stat.executeUpdate("create table people (name, occupation);"); PreparedStatement prep = conn.prepareStatement("insert into people values (?, ?);"); prep.setString(1, "Gandhi"); prep.setString(2, "politics"); prep.addBatch(); prep.setString(1, "Turing"); prep.setString(2, "computers"); prep.addBatch(); prep.setString(1, "Wittgenstein"); prep.setString(2, "smartypants"); prep.addBatch(); conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); ResultSet rs = stat.executeQuery("select * from people;"); while (rs.next()) { System.out.println("name = " + rs.getString("name")); System.out.println("job = " + rs.getString("occupation")); } rs.close(); conn.close(); } }
说明:该示例摘自http://www.cnblogs.com/wuhenke/archive/2011/10/30/2229126.html