java - 快速将 vector 元素插入数据库

标签 java sqlitejdbc

我有以下数据库:

CREATE TABLE person_bornYear (name, year INT, prob FLOAT);

我有一个带有对象 (PersonYear) 的 vector ,其中包含人员元素:字符串名称、整数年份、双概率。

我尝试将 vector 元素逐行插入数据库:

private Statement _stat;
private Connection _conn;
private PreparedStatement _prep;
for (PersonYear py : vecToInsert) {
    this.set_prep(this.get_conn().prepareStatement("INSERT into person_bornYear values (?, ?, ?);"));
    this.get_prep().setString(1, py.get_person());
    this.get_prep().setString(2, Integer.toString(py.get_year()));
    this.get_prep().setString(3, Double.toString(py.get_accuracy()));
    this.get_prep().executeUpdate();
}

需要 2-3 分钟( vector 包含 100K 个元素)。

有人可以告诉我一种将 vector 元素插入数据库的更快方法吗?

提前致谢。

最佳答案

您可以执行一个简单的批量查询,如下例所示: http://www.mkyong.com/jdbc/jdbc-preparedstatement-example-batch-update/

关于java - 快速将 vector 元素插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14853759/

相关文章:

java - SQLite内存数据库间歇性遇到SQLITE_LOCKED_SHAREDCACHE

java - 以另一种形式使用 Java DB 连接

java - SQLite 外键约束

java - ManyToOne 映射的延迟加载在 eclipselink 中不起作用

java - 在 Eclipse 外部运行程序时出现 NoSuchMethodError (org.slf4j.LoggerFactory.getLogger)

java - 启动时的 JPA 自定义脚本

Java - 将值从 TextField 添加到另一个类的对象构造函数

java - 定义缓存时如何从自定义类获取 QueryFields?

java - 在 dropbox.com 上托管一个 SQLite .db 文件