当前位置: 首页 > article >正文

使用 Java 操作 SQLite 数据库

文章目录

    • 1.导入依赖
    • 2.实际应用


1.导入依赖

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

2.实际应用

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 替换为实际的数据库文件路径,并根据需要修改表结构和数据操作的逻辑。


http://www.kler.cn/a/410280.html

相关文章:

  • [每日一氵] 拆分 pip install git+https://github.com/xxx/xx.git@bece3d4
  • GitLab 备份与恢复
  • 软件/游戏提示:mfc42u.dll没有被指定在windows上运行如何解决?多种有效解决方法汇总分享
  • 丹摩|丹摩智算平台深度评测
  • 神经网络的初始化
  • opencv-python 分离边缘粘连的物体(距离变换)
  • Spring Boot 应用开发:构建高效、可扩展的 Java 微服务
  • 基于springboot + vue-element-plus-admin开发的MES系统源码,制造执法系统MES源码;支持app,小程序,H5,后台
  • (72)采用格雷(Gray)编码的8-PSK调制解调通信系统的MATLAB仿真
  • Solon 拉取 maven 包很慢或拉不了,怎么办?
  • javaEE初阶——多线程(1)
  • GitLab|应用部署
  • 【强化学习的数学原理】第05课-蒙特卡洛方法-笔记
  • 24 年第十四届APMCM亚太数模竞赛浅析
  • JVM-类文件结构
  • vue 预览pdf 【@sunsetglow/vue-pdf-viewer】开箱即用,无需开发
  • 基于Matlab SIR模型的传染病动态模拟与扩展研究
  • Django 自定义路由转换器
  • 以科学计算为切入点:剖析英伟达服务器过热难题
  • 函数和数组
  • SAP 零售方案 CAR 系统的介绍与研究
  • 2024年11月25日Github流行趋势
  • 李宏毅机器学习课程知识点摘要(1-5集)
  • 深度解析:Nginx模块架构与工作机制的奥秘
  • FPGA经验谈系列文章——9、块储存器的高效使用
  • Enhancing K8s Gateway API with Easegress Without Changing a Single Line of Code