将字符数组插入DB

nis*_*ads 3 java jdbc

我想在数据库表中插入一个二维数组.是否有任何方法可以使用单个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语句.

有没有办法做到这一点?

Dmi*_*tri 5

使用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)