当前位置:首页 > Java

java如何连接sqlite

2026-03-25 04:48:51Java

连接SQLite数据库的方法

在Java中连接SQLite数据库需要使用JDBC驱动。以下是详细的步骤和示例代码。

添加SQLite JDBC驱动依赖

在项目中添加SQLite JDBC驱动的依赖。如果使用Maven,可以在pom.xml中添加以下依赖:

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

如果使用Gradle,可以在build.gradle中添加:

implementation 'org.xerial:sqlite-jdbc:3.36.0.3'

加载JDBC驱动并建立连接

使用Class.forName加载SQLite JDBC驱动,并通过DriverManager.getConnection建立数据库连接。

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

public class SQLiteConnection {
    public static void main(String[] args) {
        Connection connection = null;
        try {
            Class.forName("org.sqlite.JDBC");
            connection = DriverManager.getConnection("jdbc:sqlite:test.db");
            System.out.println("Connected to SQLite database");
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

执行SQL查询

建立连接后,可以使用StatementPreparedStatement执行SQL查询。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class SQLiteQuery {
    public static void main(String[] args) {
        try (Connection connection = DriverManager.getConnection("jdbc:sqlite:test.db");
             Statement statement = connection.createStatement()) {

            statement.executeUpdate("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)");
            statement.executeUpdate("INSERT INTO users (name) VALUES ('Alice')");

            ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
            while (resultSet.next()) {
                System.out.println("ID: " + resultSet.getInt("id") + ", Name: " + resultSet.getString("name"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用PreparedStatement防止SQL注入

PreparedStatement可以预编译SQL语句,提高安全性并防止SQL注入。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class SQLitePreparedStatement {
    public static void main(String[] args) {
        try (Connection connection = DriverManager.getConnection("jdbc:sqlite:test.db");
             PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO users (name) VALUES (?)")) {

            preparedStatement.setString(1, "Bob");
            preparedStatement.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

关闭资源

确保在使用完毕后关闭所有数据库资源,包括ConnectionStatementResultSet

java如何连接sqlite

try (Connection connection = DriverManager.getConnection("jdbc:sqlite:test.db");
     Statement statement = connection.createStatement();
     ResultSet resultSet = statement.executeQuery("SELECT * FROM users")) {

    while (resultSet.next()) {
        System.out.println("ID: " + resultSet.getInt("id") + ", Name: " + resultSet.getString("name"));
    }
} catch (Exception e) {
    e.printStackTrace();
}

注意事项

  • SQLite数据库文件路径可以是相对路径或绝对路径。例如,jdbc:sqlite:/path/to/database.db
  • 如果数据库文件不存在,SQLite会自动创建。
  • 在多线程环境下,确保每个线程使用独立的Connection对象。

标签: javasqlite
分享给朋友:

相关文章

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

java版本如何查看

java版本如何查看

查看Java版本的命令行方法 在命令行或终端中运行以下命令可以查看当前安装的Java版本: java -version 输出示例: java version "1.8.0_301" Java(TM…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…