java - 使用 QueryRunner 插入 ArrayList<Object[]>

标签 java sql insert apache-commons-dbutils

我想使用 QueryRunner执行 ArrayList 的插入。我在网上找到的唯一信息是插入一个 Object[]。类似的东西:

qr.update("insert into MyTable (param1,param2,param3) values (?,?,?)",
new Object[] { str1, str2, str3});

我显然希望避免遍历整个 ArrayList 并一次插入一个索引,因为每次要插入的行数都是未知的。

我只是想看看有没有人这样做过。查询返回一个列表,所以我不明白为什么我不能插入一个列表。任何建议表示赞赏。谢谢。

最佳答案

我知道这是旧的,但我一直在寻找有关 Apache Commons DBUtils 的信息 QueryRunner并遇到了这个...为了将来引用,您可以:

首先将 ArrayList 转换为 Object[][]:

Object[][] params = null;
params = listOfObjectArrays.toArray(params);

然后将 params 传递给 QueryRunner 上的批处理方法(返回 int[]):

qr.batch("insert into MyTable (param1,param2,param3) values (?,?,?)", params);

关于java - 使用 QueryRunner 插入 ArrayList<Object[]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6830337/

相关文章:

sql - T-SQL - 复制和转置数据

mysql - SQL - 检查列是否自动递增

java - JPA 条件返回页面和总计

java - 编译Hadoop MapReduce的类文件

mysql - SQL - 计算所有文件扩展名

sql - 如何使用 INSERT ... ON CONFLICT ... 更新所有列?

sql - 如何使用 NOW() 函数作为范围的上限?

java - 诊断 "RuntimeException: Unable to start activity Caused by: java.lang.NullPointerException"

java - 返回格式类似于信用卡号的字符串

C# 在一个字符串查询中插入并选择