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);
添加回答
舉報