怎么将java中list中的数据序列化到数据库中,方便存取?
巴扎黑
巴扎黑 2017-04-17 11:31:08
0
3
863

rt.
怎么将java中list中的数据序列化到数据库中,方便存取?
我想讲一个list集合 直接放在一个varchar字段中,而不像新增一个表来专门存在list中数据,我该怎么做?

ps:之前我用php的时候会用serialize去序列化数组,但java我该怎么做?

巴扎黑
巴扎黑

全部回覆(3)
Ty80

將 java list 轉換成json 格式存在資料庫裡吧

左手右手慢动作

public List getObject(String sql, Object[] object) { //sql執行語句,object是你sql語句裡面的參數
List list = new ArrayList();
Connection con = null;
PreparedStatement pre = null;
ResultSet rs = null;
try{
con = C3P0Util.getInstance().getConnection(); //這是你取得資料庫連接,你把這裡改成呼叫你自己寫的jdbc方法
pre = con.prepareStatement(sql); //執行sql語句
if(object!=null){
for(int i=0;i pre.setObject(i+1, object[i]); //給sql裡面的參數賦值
}
}
rs = pre.executeQuery();
while(rs.next()){
Users u = new User();
u.setUserName(rs.getString("UserName"));
u.setUserPas(rs.getString(" UserPas")); list.add(u);
}
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
C3P0Util.close(con, pre, rs); //關閉資料庫資源
}
return list; //回傳list集合
}
注意:list裡面儲存的是User物件的資訊
你要取得User物件的訊息,那麼就要遍歷list
for(int i=0;i User u = (User)list.get(i); System.out.println("UserName:"+u.getUserName());
System.out.println("UserPas:"+u.getUserPas());
} 上面是針對list裡面有很多個User對象,當然list裡面只有一個User對象,也是可以的。
如果你的list裡面只有一個User,那麼可以直接:User u = (User)list.get(0);
System.out.println("UserName:"+u.getUserName());
System.out.println("UserPas:"+u.getUserPas());

希望對你有幫助!

PHPzhong

你好,你的問題我沒有讀明白,建議把list的內容具體一些。如果list裡面是字串,這個比較好解決。如果這個list裡面是複雜的類,那就是看具體的要求了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板