有人可以告诉我如何将Arraylist的值作为单个字符串插入MySQL表中?
例如,将“犯罪,戏剧,行动”插入表格“featuredfilms_INFO”的列“类型”中.
这是我的代码的一部分:
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);
.
.
.
}
我的问题是我不能将setString用于流派,因为它不是string类型.我有点困惑,因为在开始时我将类型定义为字符串但经过一些搜索我发现在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());
甚至会很好,但上面的解决方案可以让你更自由地加入这些类型.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。