1
我試圖序列化ArrayList以便將其寫入ORACLE數據庫。使用JDBC和Oracle序列化ArrayList
ArrayList<Long> lst2 = new ArrayList<Long>();
lst2.add((long) 5);
lst2.add((long) 5);
lst2.add((long) 7);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
new ObjectOutputStream(baos).writeObject(lst2);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SQL方案如下:
create table T_2471785b1bf2475c9f292f73eeb
(
"CLEARTXTID" NUMBER(38,0),
"user" VARCHAR2(255),
"tag" VARCHAR2(255),
"object" NUMBER(19, 0),
"objectList" BLOB
, CONSTRAINT c_f2858bfc2a824579a630a934aea PRIMARY KEY ("CLEARTXTID" )
)
爲了插入我用下面的Java代碼:
try
{
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection("jdbc:...:testdb",
"user", "password");
Statement statement = conn.createStatement();
int result = statement.executeUpdate("INSERT INTO T_2471785b1bf2475c9f292f73eeb VALUES(5, 'Trude', 'Trudscherl', 42, !!serializedArraylist!!);");
System.out.println("Eingefügte Datensätze: " + result);
statement.close();
conn.close();
}
catch(ClassNotFoundException e)
{
// ...
}
catch(SQLException e)
{
// ...
}
我不知道如何把我的系列化的ArrayList在serializedArraylist
。
「org.postgresql.Driver」您確定不需要oracle jdbc驅動程序 – vickirk 2012-01-04 09:26:09
請注意:ObjectOutputStream並不是一個很好的選擇,最好是使用JSON或XML序列化數據以確保兼容性。 – Viruzzo 2012-01-04 09:28:41