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();
		}
	}
}
相关推荐
摇滚侠10 小时前
macbook shell 客户端推荐 Electerm macbook 版本下载链接
java·开发语言
程序员布吉岛10 小时前
Java 后端定时任务怎么选:@Scheduled、Quartz 还是 XXL-Job?(对比 + 避坑 + 选型)
java·开发语言
知无不研10 小时前
lambda表达式的原理和由来
java·开发语言·c++·lambda表达式
逍遥德10 小时前
Sring事务详解之02.如何使用编程式事务?
java·服务器·数据库·后端·sql·spring
笨蛋不要掉眼泪10 小时前
Redis哨兵机制全解析:原理、配置与实战故障转移演示
java·数据库·redis·缓存·bootstrap
Coder_Boy_10 小时前
基于SpringAI的在线考试系统-整体架构优化设计方案
java·数据库·人工智能·spring boot·架构·ddd
草履虫建模16 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
qq_2975746719 小时前
【实战教程】SpringBoot 实现多文件批量下载并打包为 ZIP 压缩包
java·spring boot·后端
老毛肚19 小时前
MyBatis插件原理及Spring集成
java·spring·mybatis
学嵌入式的小杨同学19 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux