我想在数据库表中插入一个二维数组.是否有任何方法可以使用单个INSERT语句将这些值插入到DB中,而不是使用多个INSERT语句?这些多个语句会导致数据库连接池问题,并可能在应用程序中产生延迟.
String[][] a = new String[10][2];
for(int i =0;i<10;i++)
{
st.executeUpdate("Insert into sap_details VALUES a[i][0],a[i][1]);
}
Run Code Online (Sandbox Code Playgroud)
这里发生的是每行有效调用10个INSERT语句.我不想要它; 它应该只发生一个INSERT语句.
有没有办法做到这一点?
使用JDBC 批量更新?使用预准备语句也应该有所帮助
String[][] a = new String[10][2];
PreparedStatement pst = con.prepareStatement("INSERT INTO sap_details VALUES (?,?)");
for (int i = 0; i < 10; i++) {
pst.setString(1, a[i][0]);
pst.setString(2, a[i][1]);
pst.addBatch();
}
int[] results = pst.executeBatch();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |