java - 将字符数组插入数据库

标签 java jdbc

我想将一个二维数组插入到数据库表中。有什么方法可以使用单个 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/

相关文章:

Java 动态加载一个类

java - 使用 IntelliJ IDEA 设置 JUnit

java - 无法使用 Eclipse 连接到 Google Cloud SQL

java - 如何使用问号PreparedStatement (Java)?

java - JDBC 准备语句,编译器无法识别 set 方法

Java文件路径问题

java - 在大型数据库缓存中删除或标记为已删除?

java - 在 Java 中提取标签值对的正则表达式

java - 使用 JDBC 时出错 "java.lang.NullPointerException"

java - 无法连接到 Oracle JDBC