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();
		}
	}
}
相关推荐
m0_571957582 小时前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
魔道不误砍柴功4 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2344 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨4 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟6 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity7 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天7 小时前
java的threadlocal为何内存泄漏
java
caridle7 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^7 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋37 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx