3 回答

TA贡献1836条经验 获得超4个赞
您可以通过将对象转换为 byte[] 数组来将任何对象存储在数据库中。您的列类型应该是“BLOB”类型。
示例代码片段
...........................................
ByteArrayOutputStream baos = null;
ObjectOutputStream oout = null;
try{
baos = new ByteArrayOutputStream();
oout = new ObjectOutputStream(baos);
oout.writeObject(<<ARRAYLIST_OBJECT>>);
oout.close();
byte[] blobdata = baos.toByteArray();
preparedStmt.setBytes(5, blobdata);
.........................
preparedStmt.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}

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

TA贡献1836条经验 获得超13个赞
您可以遍历您的列表并将其内容作为单个字符串添加到数据库中,如果这是您正在寻找的,例如
String list = "";
for (String s : name) {
list += s + " ";
}
ps.setString(3, list);
添加回答
举报