gpt4 book ai didi

java - 使用Java将字符串数组存储到数据库?

转载 作者:行者123 更新时间:2023-12-01 12:24:36 25 4
gpt4 key购买 nike

我需要使用 Java 在数据库中插入信息。这是关于信息检索的,我收集了 1400 个文档,每个文档都包含:ID、标题、作者、区域、摘要。我已经将集合组织成 5 个独立的字符串数组,消除了不必要的字符和多个空格。我该如何将此数据存储到集合数据库中名为“文档”的表中?我正在考虑类似的事情...

for(int i=0; i<=1400; i++){
user.execute("INSERT INTO Documents (idDoc, title, author, area,abstract)")
VALUES("+ID[i]+","+Title[i]+","+Author[i]+","+Area[i]+","+Abstract[i]");
}

这是正确的语法吗?有更简单的方法吗?任何帮助将不胜感激。

PS:我在循环之前添加此内容:

String url = "jdbc:mysql//localhost:3306/database";
Class.forName("com.mysql.jdbc.Driver").newInstance(); // register driver.
Connection con = DriverManager.getConnection(url, "root", "root");
Statement user = con.createStatement();

最佳答案

使用JDBCPreparedStatement批量更新。看看以下网站。 http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html

dbConnection.setAutoCommit(false);
String insertTableSQL = "INSERT INTO Documents (idDoc, title, author, area,abstract) VALUES "
"(?,?,?,?,?)";
PreparedStatement = dbConnection.prepareStatement(insertTableSQL);

for(int i=0; i<=ID.length; i++){
preparedStatement.setInt(1, ID[i]);
preparedStatement.setString(2, Title[i]);
preparedStatement.setString(3, Author[i]);
preparedStatement.setString(4, Area[i]);
preparedStatement.setString(5, Abstract[i]);
preparedStatement.addBatch();
}

preparedStatement.executeBatch();

为了安全起见,我建议您创建一个文档类并将所有这些文档记录保存到一个列表中,然后再插入数据库。

关于java - 使用Java将字符串数组存储到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26457823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com