gpt4 book ai didi

java - 如何将 Java ArrayList 插入到 MySQL 表中?

转载 作者:可可西里 更新时间:2023-11-01 07:27:17 25 4
gpt4 key购买 nike

谁能告诉我如何将 Arraylist 的值作为单个字符串插入 MySQL 表中?

例如,将“crime, drama, Action”插入到“featuredfilms_INFO”表的“genres”列中。

这是我的代码的一部分:

int i = 0;
List<String> genre = new ArrayList<String>();
.
.
.
Elements elms1 = doc.select("div.infobar");
Elements links1 = elms1.select("a[href]");
for (Element link1 : links1){
if (link1.attr("href").contains("/genre/")) {
genre.add(links1.get(i).text());
i++;
}
}
System.out.println("movie genres:" + genre);
.
.
try {
String query = "INSERT into featuredfilms_INFO (movieId, genres)" + "VALUES (?, ?)";
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setString (1, ID);
preparedStmt.setString (2, genre);
.
.
.
}

我的问题是我不能为 genre 使用 setString,因为它不是字符串类型。我有点困惑,因为一开始我将 genre 定义为字符串,但经过一些搜索后我发现在 Java 中对于动态数组我必须使用 ArrayList

谁能详细解释我应该做什么以及为什么?

最佳答案

在插入之前连接所有的字符串。

 String comma="";
StringBuilder allGenres = new StringBuilder();
for (String g: genre) {
allGenres.append(comma);
allGenres.append(g);
comma = ", ";
}

String query = "INSERT into featuredfilms_INFO (movieId, genres)" + "VALUES (?, ?)";
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setString (1, ID);
preparedStmt.setString (2, allGenres.toString());

甚至可能

 preparedStmt.setString (2, genre.toString());

甚至会足够好,但上述解决方案让您可以更自由地加入流派。

关于java - 如何将 Java ArrayList 插入到 MySQL 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24534630/

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