Java JDBC SQLite 示例

SQLite是一个简单、小巧、快速、可靠、无服务器、零配置和无需安装的 SQL 数据库库,它与客户端应用程序在进程中运行。尽管www.sqlite.org没有官方的 JDBC 驱动程序库,但www.xerial.org提供了一个------一个 XML 数据库管理系统项目。

1.下载SQLite JDBC驱动

您可以在此处下载用于 SQLite 的最新版本的 JDBC 驱动程序。下载是按版本分类的,因此请浏览您想要的特定版本的目录:3.5.9、3.6.16、3.7.2 等。在撰写本文时,最新版本是 3.7.2,对应于 jar 文件sqlite-jdbc-3.7.2.jar。

除了 Java 类文件,jar 文件还包括适用于 Windows、Linux 和 Mac(32 位和 64 位)的 SQLite 二进制文件。

将sqlite-jdbc-VERSION.jar放入您的类路径中。

  1. SQLite JDBC 数据库连接 URL

SQLite JDBC 驱动程序可以从文件系统加载 SQLite 数据库或在内存中创建一个。

以下是文件系统数据库的数据库连接 URL 的语法:

jdbc:sqlite:database_file_path

其中database_file_path可以是相对路径或绝对路径。例如:

jdbc:sqlite:product.db

jdbc:sqlite:C:/work/product.db

这是内存数据库的数据库连接 URL 的语法:

jdbc:sqlite::memory:

jdbc:sqlite:

3.加载SQLite JDBC驱动

使用此 SQLite JDBC 库,您必须按如下方式加载驱动程序:

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

或者:

DriverManager.registerDriver(new org.sqlite.JDBC());

  1. 建立SQLite JDBC连接

下面的示例程序创建到 SQLite 内存数据库的连接,进行一些数据库操作,并关闭连接:

java 复制代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class JavaSQLiteExample {
 
	public static void main(String args[]) {
		try {
//establish connection with database
			Class.forName("org.sqlite.JDBC");
			Connection con = DriverManager.getConnection("jdbc:sqlite::memory:");
			Statement st = con.createStatement();
//create table
			System.out.println("Create table:");
			st.executeUpdate("create table record (name text,age int)");
//insert some records
			System.out.println("Insert some records:");
			st.executeUpdate("insert into record values('neeraj',21)");
			st.executeUpdate("insert into record values('mayank',22)");
			st.executeUpdate("insert into record values('sumit',22)");
 
//reading records
			System.out.println("Reading records:");
			ResultSet rs = st.executeQuery("select * from record where age=22");
			while (rs.next()) {
				System.out.println(rs.getString("name") + " " + rs.getString("age"));
			}
			rs.close();
			st.close();
			con.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
相关推荐
徐徐同学7 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
2301_822382767 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
Mr.朱鹏8 小时前
Nginx路由转发案例实战
java·运维·spring boot·nginx·spring·intellij-idea·jetty
2301_790300968 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
程序员敲代码吗9 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
白露与泡影9 小时前
2026版Java架构师面试题及答案整理汇总
java·开发语言
历程里程碑10 小时前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
qq_2290580110 小时前
docker中检测进程的内存使用量
java·docker·容器
我真的是大笨蛋10 小时前
InnoDB行级锁解析
java·数据库·sql·mysql·性能优化·数据库开发
钦拆大仁10 小时前
Java设计模式-单例模式
java·单例模式·设计模式