如何在Java中访问SQLite数据库

Python022

如何在Java中访问SQLite数据库,第1张

首先下载一个SQLite的JDBC驱动包。

下载地址:http://download.csdn.NET/download/ccatm/8736925

在Eclipse中新建一个工程,并在Properties》Java build path》Libraries中将这个驱动包导入工程中。

在代码中导入

import Java.sql.*

import org.sqlite.JDBC

然后在main函数中加入下列代码,编译运行。

try{

Class.forName("org.sqlite.JDBC")

Connection conn = DriverManager.getConnection("jdbc:sqlite:filename") //filename为sqlite数据库文件名,最好带上绝对路径

String sql = "insert into tb_users values('张三','111','男','25')"

Statement stmt = conn.createStatement()

stmt.executeUpdate(sql)

conn.close()

}catch(Exception e){

e.printStackTrace()

}

然后可以用SQLiteSpy工具打开数据库文件,就可以看到上面插入的记录了:)

SQLiteSpy下载地址:http://download.csdn.Net/download/ccatm/8736417

注意需要在程序运行前,先创建数据文件和表。可以使用SQLiteSpy来创建,建表使用SQL语句如下。

CREATE TABLE tb_users(username varchar(10), password varchar(16), sex varchar(8), age interger)

/**

* @author Tim

*/

public class JavaSqlite {

public static void main(String[] args) {

// TODO Auto-generated method stub

try {

// 0 连接SQLite的JDBC

String sql=\"jdbc:sqlite://e:/tim.db\"

Class.forName(\"org.sqlite.JDBC\")

// 1 建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之

Connection conn = DriverManager.getConnection(sql)

Statement stat = conn.createStatement()

// 2 创建一个表tbl1,录入数据

stat.executeUpdate(\"drop table if exists tbl1\")

stat.executeUpdate(\"create table if not exists 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\")// 查询数据

System.out.println(\"创建表结构录入数据操作演示:\")

while (rs.next()) { // 将查询到的数据打印出来

System.out.print(\"name = \" + rs.getString(\"name\") + \", \")// 列属性

System.out.println(\"salary = \" + rs.getString(\"salary\"))// 列属性二

}

rs.close()

// 3 修改表结构,添加字段 address varchar(20) default \'changsha\'

stat.executeUpdate(\"alter table tbl1 add column address varchar(20) not null default \'changsha\'\")// 创建一个表,两列

stat.executeUpdate(\"insert into tbl1 values(\'HongQi\',9000,\'tianjing\')\")// 插入数据

stat.executeUpdate(\"insert into tbl1(name,salary) values(\'HongQi\',9000)\")// 插入数据

rs = stat.executeQuery(\"select * from tbl1\")// 查询数据

System.out.println(\"表结构变更操作演示:\")

while (rs.next()) { // 将查询到的数据打印出来

System.out.print(\"name = \" + rs.getString(\"name\") + \", \")// 列属性一

System.out.print(\"name = \" + rs.getString(\"name\") + \", \")// 列属性二

System.out.println(\"address = \" + rs.getString(\"address\"))// 列属性三

}

rs.close()

conn.close()// 结束数据库的连接

} catch (Exception e) {

e.printStackTrace()

}

}