使用Java进行SQLite数据库操作

发表时间: 2024-01-23 16:12


SQLIte 介绍

SQLite 是一个轻量级、开源的嵌入式关系型数据库管理系统(RDBMS),由D. Richard Hipp创建,并在2000年首次发布。它是世界上最广泛部署的SQL数据库引擎,因为它不需要单独的服务器进程即可运行,而是作为一个本地库直接与应用程序一起运行,在应用进程中处理所有的数据库操作。

主要特点:

  1. 自包含与零配置:SQLite不需复杂的安装或管理过程,只需要静态或动态链接到应用程序中就可以使用,非常适合用于移动设备、嵌入式系统或作为独立应用程序的一部分。
  2. 文件型数据库:SQLite将整个数据库(包括表、索引和数据)存储在一个单一的跨平台磁盘文件中,这使得数据库易于移植且易于备份。
  3. 事务支持:SQLite完全支持ACID(原子性、一致性、隔离性和持久性)事务,确保了数据的一致性和可靠性。
  4. SQL兼容:SQLite实现了大多数SQL-92标准,并包含部分SQL-99和SQL-2003标准的功能,可以执行各种查询、更新、删除等操作。
  5. 跨平台:SQLite可以在多种操作系统上运行,包括Windows、Linux、macOS以及许多嵌入式实时操作系统。
  6. 资源占用少:SQLite对内存和CPU的要求非常低,尤其适合于资源有限的环境。
  7. 无客户端-服务器架构:由于SQLite是嵌入式的,所以应用程序可以直接与数据库进行交互,无需网络层或中间件,这使得其在安全性及性能上有别于传统的客户端-服务器数据库系统。
  8. 广泛应用:SQLite被广泛应用于移动应用开发(如Android和iOS)、桌面应用、Web浏览器(如Firefox)、以及需要本地持久化存储的应用场景中。


SQLIte JDBC

SQLite JDBC是一款用于Java应用程序连接SQLite数据库的驱动程序。

https://github.com/xerial/sqlite-jdbc


添加依赖

  implementation("org.xerial:sqlite-jdbc:3.42.0.0")


加载驱动

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

连接

String url = "jdbc:sqlite:my.db";Connection connection = DriverManager.getConnection(url);

执行SQL

Statement statement = connection.createStatement();statement.execute("create table if not exists m_user(user_id integer primary key autoincrement ,nickname varchar(64))");statement.execute("insert into m_user(nickname) values ('测试用户1')");statement.execute("insert into m_user(nickname) values ('测试用户2')");statement.execute("insert into m_user(nickname) values ('测试用户3')");




取消自动提交

connection.setAutoCommit(false);

提交

connection.commit();

开启事务

connection.beginRequest();// 执行connection.endRequest();

回滚

connection.rollback();

关闭

connection.close();