gpt4 book ai didi

java - 我正在尝试将 ArrayList 对象存储在数据库中

转载 作者:行者123 更新时间:2023-11-29 16:13:59 26 4
gpt4 key购买 nike

我正在尝试将 ArrayList 对象存储在数据库中,但是当我将对象设置为PreparedStatement 时出现错误,我希望用户在数据库的单列中输入多个值

我的java代码:

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class Uploads
*/

@WebServlet("/Rough")
public class Rough extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<String> name= new ArrayList<>();

try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/practise", "root", "root");
PreparedStatement ps = con.prepareStatement("insert into imgtable(imgname,imgnnn,list) values(?,?,?)");

name.add("abc");
name.add("def");
ps.setString(1, "JAVA");
ps.setString(2, "Spring");
ps.setString(3, name);
int z = ps.executeUpdate();
if(z!=0) {
System.out.println("sucess");
}
} catch (Exception ex) {
System.out.println(ex);
}
}


}

最佳答案

您应该以对您有用的方式手动将数组转换为字符串,然后才能保存它。问题是 JDBC 没有相应的类型来自动映射你的对象,所以这取决于你。另一个选项可能是创建另一个表并设置外键。这取决于您应该遵循的真实数据。

关于java - 我正在尝试将 ArrayList 对象存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54999305/

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