SQLite 是一个轻量级的数据库,广泛用于各种嵌入式和移动应用中。在 Java 应用中,连接和操作 SQLite 数据库是常见的需求。本文将详细介绍如何在 Java 中轻松连接 SQLite 数据库...
SQLite 是一个轻量级的数据库,广泛用于各种嵌入式和移动应用中。在 Java 应用中,连接和操作 SQLite 数据库是常见的需求。本文将详细介绍如何在 Java 中轻松连接 SQLite 数据库,并实现基本的数据库操作。
在 Java 中,要连接 SQLite 数据库,首先需要添加 SQLite JDBC 驱动到项目中。以下是几种添加驱动的方法:
在项目的 pom.xml 文件中添加以下依赖:
org.xerial sqlite-jdbc 3.36.0.3
sqlite-jdbc-3.36.0.3.jar)lib 目录下,并在 build path 中添加该目录如果项目中已经使用了 Maven 依赖管理工具,可以通过以下命令添加依赖:
mvn add-dependency org.xerial:sqlite-jdbc:3.36.0.3以下是连接 SQLite 数据库的基本代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLiteConnection { public static Connection connect(String dbFile) { // 数据库文件路径 String url = "jdbc:sqlite:" + dbFile; Connection conn = null; try { // 加载并注册 JDBC 驱动 Class.forName("org.sqlite.JDBC"); // 打开连接 conn = DriverManager.getConnection(url); System.out.println("Connection to SQLite has been established."); } catch (ClassNotFoundException | SQLException e) { System.out.println(e.getMessage()); } return conn; }
}连接到数据库后,可以执行各种 SQL 语句,例如查询、插入、更新和删除等。以下是一个执行查询的示例:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class SQLiteExample { public static void main(String[] args) { // 连接到数据库 Connection conn = SQLiteConnection.connect("example.db"); // 执行查询 String sql = "SELECT id, name, age FROM users"; try (PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery()) { // 处理结果集 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("ID = " + id); System.out.println("Name = " + name); System.out.println("Age = " + age); } } catch (SQLException e) { System.out.println(e.getMessage()); } }
}以下是一个插入、更新和删除数据的示例:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SQLiteExample { public static void main(String[] args) { // 连接到数据库 Connection conn = SQLiteConnection.connect("example.db"); // 插入数据 String sqlInsert = "INSERT INTO users(name, age) VALUES(?, ?)"; try (PreparedStatement pstmt = conn.prepareStatement(sqlInsert)) { pstmt.setString(1, "Alice"); pstmt.setInt(2, 30); pstmt.executeUpdate(); } catch (SQLException e) { System.out.println(e.getMessage()); } // 更新数据 String sqlUpdate = "UPDATE users SET age = ? WHERE name = ?"; try (PreparedStatement pstmt = conn.prepareStatement(sqlUpdate)) { pstmt.setInt(1, 31); pstmt.setString(2, "Alice"); pstmt.executeUpdate(); } catch (SQLException e) { System.out.println(e.getMessage()); } // 删除数据 String sqlDelete = "DELETE FROM users WHERE name = ?"; try (PreparedStatement pstmt = conn.prepareStatement(sqlDelete)) { pstmt.setString(1, "Alice"); pstmt.executeUpdate(); } catch (SQLException e) { System.out.println(e.getMessage()); } }
}在完成数据库操作后,需要关闭数据库连接以释放资源。以下是关闭数据库连接的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLiteConnection { public static Connection connect(String dbFile) { // 数据库文件路径 String url = "jdbc:sqlite:" + dbFile; Connection conn = null; try { // 加载并注册 JDBC 驱动 Class.forName("org.sqlite.JDBC"); // 打开连接 conn = DriverManager.getConnection(url); System.out.println("Connection to SQLite has been established."); } catch (ClassNotFoundException | SQLException e) { System.out.println(e.getMessage()); } return conn; } public static void close(Connection conn) { if (conn != null) { try { conn.close(); System.out.println("Connection to SQLite has been closed."); } catch (SQLException e) { System.out.println(e.getMessage()); } } }
}在主程序中,使用以下代码关闭数据库连接:
// 连接到数据库
Connection conn = SQLiteConnection.connect("example.db");
// 执行数据库操作...
// 关闭数据库连接
SQLiteConnection.close(conn);通过以上步骤,您可以在 Java 中轻松连接和操作 SQLite 数据库。希望本文对您有所帮助!