我想将一个二维数组插入到数据库表中。有什么方法可以使用单个 INSERT 语句而不是使用多个 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]);
}
这里发生的情况是,每行实际上调用了 10 个 INSERT 语句。我不想这样;它应该只用一个 INSERT 语句发生。
有什么办法吗?
最佳答案
使用 JDBC Batch Updates ?使用准备好的语句也应该有所帮助。
例子
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();
关于java - 将字符数组插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283479/