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<object.length;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<list.size;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语句里面的参数
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<object.length;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<list.size;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里面是复杂的类,那就是看具体的要求了。