当前位置:首页 > Java

java如何使用sqlite

2026-03-04 03:51:11Java

使用 Java 连接 SQLite 数据库

确保项目中包含 SQLite JDBC 驱动。可以通过 Maven 添加依赖:

<dependency>
    <groupId>org.xerial</groupId>
    <artifactId>sqlite-jdbc</artifactId>
    <version>3.40.0.0</version>
</dependency>

创建数据库连接

使用 DriverManager.getConnection 建立连接,SQLite 的 JDBC URL 格式为 jdbc:sqlite:path/to/database.db

java如何使用sqlite

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class SQLiteDemo {
    public static void main(String[] args) {
        Connection conn = null;
        try {
            // 创建或连接到数据库文件
            conn = DriverManager.getConnection("jdbc:sqlite:sample.db");
            System.out.println("Connection to SQLite established.");
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            try {
                if (conn != null) conn.close();
            } catch (SQLException e) {
                System.err.println(e.getMessage());
            }
        }
    }
}

执行 SQL 语句

通过 StatementPreparedStatement 执行 SQL 操作。以下示例创建表并插入数据:

Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)");

// 使用 PreparedStatement 防止 SQL 注入
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO users (name, email) VALUES (?, ?)");
pstmt.setString(1, "Alice");
pstmt.setString(2, "alice@example.com");
pstmt.executeUpdate();

查询数据

使用 ResultSet 处理查询结果:

java如何使用sqlite

ResultSet rs = stmt.executeQuery("SELECT * FROM users");
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    String email = rs.getString("email");
    System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);
}
rs.close();

事务处理

通过 setAutoCommit(false) 启用事务,完成后调用 commit()

conn.setAutoCommit(false);
try {
    // 执行多个 SQL 操作
    conn.commit();
} catch (SQLException e) {
    conn.rollback();
    System.err.println("Transaction failed: " + e.getMessage());
} finally {
    conn.setAutoCommit(true);
}

关闭资源

确保关闭所有数据库资源以避免内存泄漏:

if (stmt != null) stmt.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();

注意事项

SQLite 适合嵌入式和小型应用,不支持多用户高并发场景。对于复杂查询,建议使用索引优化性能。JDBC 驱动会自动创建不存在的数据库文件,但需确保应用有文件系统的写入权限。

分享给朋友:

相关文章

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

如何编译java

如何编译java

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证是否安装成功。若未安装,需从Oracl…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

hashrouter如何使用react

hashrouter如何使用react

使用 HashRouter 在 React 中的方法 安装 react-router-dom 确保项目中已安装 react-router-dom,若未安装,可通过以下命令安装: npm inst…