使用 Java 操作 SQLite 数据库

文章目录


1.导入依赖

bash 复制代码
<dependencies>
    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>3.36.0.3</version>
    </dependency>
</dependencies>

2.实际应用

bash 复制代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class SQLiteExample {

    // 数据库文件路径
    private static final String DB_PATH = "your_database.db";

    public static void main(String[] args) {
        createTable();
        insertData("John Doe", 25);
        queryData();
    }

    // 创建表
    public static void createTable() {
        String sql = "CREATE TABLE IF NOT EXISTS users (name TEXT, age INT)";
        executeSQL(sql);
    }

    // 插入数据
    public static void insertData(String name, int age) {
        String sql = "INSERT INTO users (name, age) VALUES (?,?)";
        executeUpdate(sql, name, age);
    }

    // 查询数据
    public static void queryData() {
        String sql = "SELECT * FROM users";
        executeQuery(sql);
    }

    // 执行 SQL 语句(创建表等)
    public static void executeSQL(String sql) {
        try (Connection connection = getConnection();
             PreparedStatement statement = connection.prepareStatement(sql)) {
            statement.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    // 执行更新操作(插入数据等)
    public static void executeUpdate(String sql, Object... params) {
        try (Connection connection = getConnection();
             PreparedStatement statement = connection.prepareStatement(sql)) {
            for (int i = 0; i < params.length; i++) {
                statement.setObject(i + 1, params[i]);
            }
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    // 执行查询操作
    public static void executeQuery(String sql) {
        try (Connection connection = getConnection();
             PreparedStatement statement = connection.prepareStatement(sql);
             ResultSet resultSet = statement.executeQuery()) {
            while (resultSet.next()) {
                String name = resultSet.getString("name");
                int age = resultSet.getInt("age");
                System.out.println("Name: " + name + ", Age: " + age);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    // 获取数据库连接
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection("jdbc:sqlite:" + DB_PATH);
    }
}

在上述示例中:

  • 定义了数据库文件的路径。
  • 提供了创建表、插入数据和查询数据的方法。
  • 通过 getConnection 方法获取与 SQLite 数据库的连接。

将 your_database.db 替换为实际的数据库文件路径,并根据需要修改表结构和数据操作的逻辑。

相关推荐
s:10316 分钟前
【框架】参考 Spring Security 安全框架设计出,轻量化高可扩展的身份认证与授权架构
java·开发语言
夜泉_ly1 小时前
MySQL -安装与初识
数据库·mysql
qq_529835352 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
南山十一少3 小时前
Spring Security+JWT+Redis实现项目级前后端分离认证授权
java·spring·bootstrap
月光水岸New5 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6755 小时前
数据库基础1
数据库
我爱松子鱼5 小时前
mysql之规则优化器RBO
数据库·mysql
427724005 小时前
IDEA使用git不提示账号密码登录,而是输入token问题解决
java·git·intellij-idea
chengooooooo5 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
李长渊哦5 小时前
常用的 JVM 参数:配置与优化指南
java·jvm