一次将ArrayList字段插入DB

时间:2014-07-21 09:11:35

标签: java database

是否可以立即将arraylist插入数据库中,还是必须遍历每个记录并逐个插入?

3 个答案:

答案 0 :(得分:3)

使用JDBC进行批量插入:

PreparedStatement ps = c.prepareStatement("INSERT INTO MY_TABLE VALUES (?, ?)");
for(MyElement e : myList) {
    ps.setString(1, e.getString());
    ps.setInt(2, e.getInt());
    ps.addBatch();
}
ps.executeBatch();

答案 1 :(得分:1)

您可以使用批量查询(例如

)立即插入数据库
int i =0;
PreparedStatement ps = con.prepareStatement("INSERT INTO DataTable VALUES (?)");
while(i<list.size()){
ps.setInt(1,list.get(i));
ps.addBatch();
i++;
}
ps.executeBatch();

答案 2 :(得分:0)

您可以转换ArrayList to Array,然后使用PrepareStatement方法将数组传递给setArray()

http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#setArray%28int,%20java.sql.Array%29