Java连接SQLite数据库详解
By zieckey (http://zieckey.cublog.cn)All Rights Reserved!
下载SQLite数据库的JDBC
这里给出一个中文站点的URL:
http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz将下载到的包解压后得到jar包 sqlitejdbc-v033-nested.jar 放到%JAVA_HOME%\lib 下,
并且将其添加到classpath系统环境变量中,我的classpath系统环境变量现在为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\sqlitejdbc-v033-nested.jar在你的代码中引用这个驱动:??? Class.forName("org.sqlite.JDBC");
??? Connection conn = DriverManager.getConnection("jdbc:sqlite:filename");//filename为你的SQLite数据名称
??? // ... use the database ...
??? conn.close();
???
示例程序如下:
?
import java.sql.*;
import org.sqlite.JDBC;
/**
?* 这是个非常简单的SQLite的Java程序,
?* 程序中创建数据库、创建表、然后插入数据,
?* 最后读出数据显示出来
?* @author zieckey (http://zieckey.cublog.cn)
?*/
public class TestSQLite
{
????public static void main(String[] args)
????{
????????try
????????{
?????????//连接SQLite的JDBC
?????????Class.forName("org.sqlite.JDBC");
?????????
?????????//建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之
?????????Connection conn = DriverManager.getConnection("jdbc:sqlite:zieckey.db");
?????????
?????????Statement stat = conn.createStatement();
?????????
?????????stat.executeUpdate( "create table tbl1(name varchar(20), salary int);" );//创建一个表,两列
?????????
?????????stat.executeUpdate( "insert into tbl1 values('ZhangSan',8000);" ); //插入数据
???stat.executeUpdate( "insert into tbl1 values('LiSi',7800);" );
???stat.executeUpdate( "insert into tbl1 values('WangWu',5800);" );
???stat.executeUpdate( "insert into tbl1 values('ZhaoLiu',9100);" );
?
?????????ResultSet rs = stat.executeQuery("select * from tbl1;"); //查询数据
?????????while (rs.next()) { //将查询到的数据打印出来
?????????????System.out.print("name = " + rs.getString("name") + " "); //列属性一
?????????????System.out.println("salary = " + rs.getString("salary")); //列属性二
?????????}
?????????rs.close();
?????????conn.close(); //结束数据库的连接
????????}
????????catch( Exception e )
????????{
?????????e.printStackTrace ( );
????????}
????}
}
编译运行:???
E:\Coding\java\test>javac TestSQLite.java
name = ZhangSan?????? salary = 8000
name = LiSi?????? salary = 7800
name = WangWu?????? salary = 5800
name = ZhaoLiu?????? salary = 9100??总结:本文介绍了嵌入式数据库SQLite在Java中的应用,
通过创建表、插入数据、查询等操作介绍了在Java中对数据库的操纵。?