rt. 怎么将java中list中的数据序列化到数据库中,方便存取? 我想讲一个list集合 直接放在一个varchar字段中,而不像新增一个表来专门存在list中数据,我该怎么做?
ps:之前我用php的时候会用serialize去序列化数组,但java我该怎么做?
將 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()); 希望對你有幫助!
你好,你的問題我沒有讀明白,建議把list的內容具體一些。如果list裡面是字串,這個比較好解決。如果這個list裡面是複雜的類,那就是看具體的要求了。
將 java list 轉換成json 格式存在資料庫裡吧
public List getObject(String sql, Object[] object) { //sql執行語句,object是你sql語句裡面的參數 pre.setObject(i+1, object[i]); //給sql裡面的參數賦值 User u = (User)list.get(i); System.out.println("UserName:"+u.getUserName());
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
}
}
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
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());
希望對你有幫助!
你好,你的問題我沒有讀明白,建議把list的內容具體一些。如果list裡面是字串,這個比較好解決。如果這個list裡面是複雜的類,那就是看具體的要求了。