Java 嵌入数据引擎:从 SQLite 到 SPL_java sqlite 插入大量数据
import org.sqlite.SQLiteConnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SQLiteExample {
public static void main(String[] args) {
// 连接到SQLite数据库
String url = "jdbc:sqlite:example.db";
try (Connection conn = DriverManager.getConnection(url);
// 创建一个PreparedStatement来批量插入数据
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO data (id, value) VALUES (?, ?)")) {
// 开始事务
conn.setAutoCommit(false);
// 插入数据
for (int i = 0; i < 100000; i++) {
pstmt.setInt(1, i);
pstmt.setInt(2, i);
pstmt.executeUpdate();
// 每1000条提交一次,减少事务大小
if (i % 1000 == 0) {
conn.commit();
}
}
// 最后提交事务
conn.commit();
System.out.println("数据插入完成");
} catch (SQLException e) {
System.out.println("数据插入过程中发生错误: " + e.getMessage());
}
}
}
这段代码演示了如何使用Java JDBC连接SQLite数据库,并且使用PreparedStatement批量插入大量数据。它使用了try-with-resources结构来自动关闭数据库连接,并且每插入一定数量的数据后,会手动进行一次事务提交,以减少单个事务的大小。这是一个常见的做法,可以用来提高数据插入的效率。
评论已关闭