`

SQLite 在 Java中的使用

阅读更多
本文是根据
http://www.sqlite.com.cn/MySqlite/3/31.Html
http://www.sqlite.com.cn/MySqlite/3/80.Html
结合自己的理解所得。

Javasqlite提供了sqlite的java包装,使用这个库可以方便的在java中使用sqlite。它包含了一个可以调用sqlite的JDBC驱动。内部使用了JNI来调用Sqlite的Interface。以下简单介绍一下如何在Eclipse中配置一个可以调用sqlite的工程:


1、  下载javasqlite包:
官方网站上还提供简单的文档。http://www.ch-werner.de/javasqlite
其中有jar包和源码下载的链接。
http://www.ch-werner.de/javasqlite/javasqlite-20100131.tar.gz
http://www.ch-werner.de/javasqlite/javasqlite-20100131-win32.zip

2、  配置Eclipse工程:
把sqlite.jar拷到你的sdk安装目录下的\jre\lib\ext\路径下;把sqlite_jni.dll拷到对应的
\ jre\bin\目录下。
然后创建一个Eclipse工程sqlite,把这两个文件添加到你的工程里就可以了。
其实不把上述的两个文件添加到sdk下面的路径也是可以的,只要保证你的工程里可以顺利的调用到这两个文件就可以了。

3、  开始写测试类
创建一个HelloSqlite.java 。
引入相关类:import SQLite.* ,这样就可以使用sqlite.jar里面的类了,
初始化一个Database对象:Database db = new Database();
我在HelloSqlite.java里面就简单得调用了Database.Version()来查看当前数据库的版本。
代码如下:
import SQLite.*;
public class HelloSqlite {
	Database db=new Database();
	public static void main(String[] args) {
		HelloSqlite s=new HelloSqlite();
		System.out.println(s.db.version());
	}
}


4.连接数据库:
public int connectDB(String dbPath)
{
    try{
        db.open(dbPath,0666);//调用open方法连接数据库,如果不存在创建这个数据库文件,该数据库将产生在项目工程的根目录下。
        return 1;
    }
   catch(java.lang.Exception ex)
   {
       ex.printStackTrace();
       return -1;
   }
}

5.建表语句
static final String strCreate ="create table user (userid integer primary key, username text)";

增加执行方法:
	public int excute(String sql){
		try {
			db.exec(sql, new TableFmt());//这是回调函数,用于处理返回结果。后面有介绍
			return 1;
		} catch (java.lang.Exception e) {
			e.printStackTrace();
			return -1;
		}
	}


6.写入,查询语句
static final String strInsert ="insert into user values (2,'James')";
static final String strDisplay ="select * from user";

7.处理查询结果
实现了SQLite. Callback接口,接着将这个类的一个对象传递给exec的Callback参数。这样exec就会对每个查询结果调用Callback。继而实现对结果的处理
class TableFmt implements Callback{
	public void columns (String[] cols){
		System.out.println("columns");
		for (int i = 0; i < cols.length; i++) {
			System.out.println(cols[i]);
		}
	}
	public boolean newrow(String[] cols){
		System.out.println("newrow");
		for (int i = 0; i < cols.length; i++) {
			System.out.println(cols[i]);
		}
		return false;
	}
	
	public void types(String[] cols){
		System.out.println("types");
		for (int i = 0; i < cols.length; i++) {
			System.out.println(cols[i]);
		}
	}
}


8.执行测试
	public static void main(String[] args) {
		HelloSqlite s=new HelloSqlite();
		System.out.println(s.db.version());
		s.connectDB("abc.db");
		s.excute(strCreate);
		s.excute(strInsert);
		s.excute(strDisplay);
	}


执行结果:
2.8.17
columns
userid
username
newrow
2
James


9.完整代码
import SQLite.*;
public class HelloSqlite {
	Database db=new Database();
	static final String strCreate ="create table user (userid integer primary key, username text)";
	static final String strInsert ="insert into user values (2,'James')";
	static final String strDisplay ="select * from user";
	public int connectDB(String dbPath){
		try {
			db.open(dbPath, 0666);
			return 1;
		} catch (java.lang.Exception e) {
			e.printStackTrace();
			return -1;
		}
	}
	
	
	public int excute(String sql){
		try {
			db.exec(sql, new TableFmt());
			return 1;
		} catch (java.lang.Exception e) {
			e.printStackTrace();
			return -1;
		}
	}	
	
	public static void main(String[] args) {
		HelloSqlite s=new HelloSqlite();
		System.out.println(s.db.version());
		s.connectDB("abc.db");
		s.excute(strCreate);
		s.excute(strInsert);
		s.excute(strDisplay);
	}
}

class TableFmt implements Callback{
	public void columns (String[] cols){
		System.out.println("columns");
		for (int i = 0; i < cols.length; i++) {
			System.out.println(cols[i]);
		}
	}
	public boolean newrow(String[] cols){
		System.out.println("newrow");
		for (int i = 0; i < cols.length; i++) {
			System.out.println(cols[i]);
		}
		return false;
	}
	
	public void types(String[] cols){
		System.out.println("types");
		for (int i = 0; i < cols.length; i++) {
			System.out.println(cols[i]);
		}
	}
}




另外,Sqlite JDBC 是一个sqlite的jdbc操作包,使用它后,我们就可以像操作其他数据库一样操作sqlite。详情请见http://www.zentus.com/sqlitejdbc/
分享到:
评论

相关推荐

    SQLite在Java中的使用

    在Java中使用SQLite,主要涉及到JDBC(Java Database Connectivity)驱动的配置和SQL语句的执行。 首先,要使用SQLite与Java结合,你需要下载SQLite的JDBC驱动,通常名为`sqlite-jdbc-版本号.jar`。将其添加到项目...

    sqlite java cpp

    在Java中使用SQLite主要通过JDBC驱动程序,例如`org.sqlite.JDBC`。首先,需要添加SQLite JDBC驱动到项目类路径中。然后,可以使用以下Java代码创建连接并执行SQL查询: ```java import java.sql.Connection; ...

    sqlite驱动 java数据库驱动 sqlite连接java sqlite sqlite.jar

    在Java中,我们通常使用SQLite JDBC驱动来与SQLite数据库进行交互,这就是"sqlite驱动 java数据库驱动"所指的内容。SQLite JDBC驱动允许Java应用程序通过标准的JDBC接口来连接和操作SQLite数据库。 `sqlitejdbc-v...

    SQLite JDBC 驱动程序在Java中访问和创建SQLite数据库文件的库完整项目源代码.zip

    SQLite JDBC是一个用于在Java中访问和创建SQLite数据库文件的库。我们的SQLiteJDBC库不需要配置,因为主要操作系统的本机库,包括Windows,Mac OS X,Linux等,被组装成一个JAR(Java Archive)文件。用法非常简单;...

    sqlite+java简易demo项目

    SQLite是一款轻量级的数据库管理系统,它被广泛用于嵌入式系统和移动应用中,因为它不需要专门的服务器进程,可以直接在应用程序中使用。本项目是一个SQLite与Java结合的简易DEMO,旨在帮助开发者理解如何在Java应用...

    sqlite数据库java版

    sqlite数据库java版,jar包,java -jar sqlite.jar

    Access mdb 转 sqlite 数据库java代码

    在Java中进行这种转换可以方便地在不同的平台上操作数据,特别是在没有安装Access的情况下。 在描述中提到的“中文乱码问题”是数据库迁移过程中常见的问题,尤其是涉及到字符编码不兼容时。在Access与SQLite之间...

    JAVA在SQLite 嵌入式数据库中的应用

    在Java中连接SQLite数据库,通常有两种方法: 1. **JNI接口**:通过Java Native Interface (JNI),直接调用SQLite的C语言库。这种方法需要编写C/C++代码,将SQLite库与Java代码链接起来,能够实现高效的数据访问,...

    java链接sqlite的驱动

    java操作sqlite 链接的时候需要用这个驱动进行链接

    sqlite-java-tool

    2. sqlite-java-tool pc端(包括windows,linux,mac)下的sqlite数据库操作工具,该工具是基于sqlite-annotation-convention插件的,实现了许多常用的操作,你也可以直接编写sql代码,然后通过该工具执行。

    sqlite-java-tool-set-1.0

    这个工具集适用于那些需要在Java应用中集成SQLite数据库的场合,比如桌面应用、移动应用、轻量级服务器应用等。它特别适合那些需要离线数据存储、简单数据管理或者快速原型开发的情况。 8. **性能优化**: 虽然...

    java创建使用SQLite数据库以及SQLiteDeveloper工具.rar

    在Java编程环境中,SQLite是一个轻量级的、开源的关系型数据库管理系统,它不需要单独的服务器进程,可以直接在应用程序中使用。SQLite数据库非常适合于移动设备、嵌入式系统或作为小型项目的数据存储解决方案。本...

    sqlite数据类型详细介绍+javaJDBC连接sqlite小例子

    使用Java JDBC连接SQLite数据库,首先需要在项目中引入SQLite-JDBC驱动。在Java代码中,通过以下步骤建立连接: 1. 引入JDBC驱动:在项目中添加SQLite-JDBC的依赖,例如,如果你使用Maven,可以在pom.xml文件中添加...

    java中使用sqlite数据库

    本文将围绕“Java中使用SQLite数据库”这一主题,详细讲解如何在Java应用中集成SQLite,以及涉及的"native包和dll文件"。 首先,SQLite JDBC驱动是Java连接SQLite数据库的关键。它允许Java程序通过JDBC(Java ...

    sqlite-jdbc-3.18.0 sqlite最新java驱动

    截至17年5月最新的sqlite数据库驱动java类文件,在-classpath中添加使用

    Java课程设计---javaswing带GUI界面学生管理系统(源码+sqlite数据库).rar

    在这个系统中,开发者使用JDBC驱动来与SQLite数据库通信,执行SQL语句,如SELECT、INSERT、UPDATE和DELETE,以完成数据的读写操作。 5. **数据库设计**: 数据库通常包含学生表,字段可能包括ID(主键)、姓名、性别...

    Java连接SQLite数据库

    在Java编程中,连接SQLite数据库是一项常见的任务,特别是在开发轻量级、单机应用时。SQLite是一个开源的关系型数据库,它不需要独立的...通过熟悉这些基本概念和方法,你将能够自如地在Java中进行SQLite数据库的交互。

    用传参数的方法实现Java对SQLite的添加和查询

    在Java编程环境中,SQLite是一种轻量级的数据库引擎,常用于小型项目或嵌入式系统,因为它无需独立服务器进程,可以直接在应用中运行。...通过实践这些示例,你可以更好地理解如何在Java中安全地操作SQLite数据库。

    JAVA在SQLite嵌入式数据库中的应用.rar

    SQLite 作为一个开源的嵌入式数据库产品,具有系统开销小,检索效率高的特性,适用于手机、PDA、机顶盒设备等电器,并且作为嵌入式数据库在可下载的消费类应用程序中运行的很好。这篇文章介绍嵌入式数据库产品SQLite...

Global site tag (gtag.js) - Google Analytics