有过 Java JDBC 数据库开发经验的都会知道,要连接到数据库,我们需要提供对应数据库类型的 JDBC 驱动,例如:Mysql 需要 Mysql JDBC 驱动,Oracle 需要 Oracle JDBC 驱动。
如果我们需要连接 SQLite 数据库,因此我们需要在项目中引入 SQLite JDBC 驱动。通过该 JDBC 驱动程序来连接到 SQLite,并对 SQLite 进行操作。
在 pom.xml 中添加如下依赖(注,我们搭建了一个简单 maven 项目进行测试):
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.36.0.3</version> </dependency>
下面通过一个简单的 Java(带有 main 方法)程序测试通过 JDBC 连接到 SQLite ,并且在该 SQLite 中创建 t_user 表。代码如下:
package com.hxstrive.sqlite; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; /** * 使用 SQLite JDBC 驱动打开数据库且创建一张 t_user 数据表 * @author hxstrive.com 2022/9/26 */ public class SqliteSimple { public static void main(String[] args) throws Exception { Connection connection = null; Statement statement = null; try { // 打开数据库 Class.forName("org.sqlite.JDBC"); connection = DriverManager.getConnection("jdbc:sqlite:sqlite_studio.db"); System.out.println("Opened database successfully"); // 创建用户表 statement = connection.createStatement(); statement.execute("CREATE TABLE t_user (" + "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + "name VARCHAR (50)," + "age INT," + "sex VARCHAR (10)," + "birthday DATE" + ")"); System.out.println("User table created successfully"); } catch (Exception e) { e.printStackTrace(); } finally { if(null != statement) { statement.close(); } if(null != connection) { connection.close(); } } } }
上面代码中,org.sqlite.JDBC 表示 SQLite 的驱动类。jdbc:sqlite:sqlite_studio.db 表示我们连接 SQLite 的 JDBC URL,其中 jdbc:sqlite: 前缀是固定,sqlite_studio.db 表示 SQLite 数据库文件名。
注意:在 JDBC URL 中我们可以使用绝对路径指定 SQLite db 文件的位置,如下:
jdbc:sqlite:D:/SQLite/sqlite_java_crud/sqlite_studio.db
运行上面示例,将在项目下面创建一个名为 sqlite_studio.db 的 SQLite 数据库文件,且在数据库中创建一张 t_user 数据表。运行输出信息如下:
Opened database successfully User table created successfully
上面信息可知,已经成功打开 SQLite DB 文件且成功创建用户表,这时我们可以使用 IDEA 的数据源功能去创建一个 SQLite 数据源打开 SQLite 数据库,如下图:
点击“OK”按钮去创建数据源。数据源创建成功后如下图:
可知,t_user 表已经被成功创建。