java 序列化到mysql数据库中(二)
tStream bis=new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
return Hibernate.createBlob(bis);
}
public static void writeObjectToDB(Object object) throws IOException{
Test test=new Test();
test.setContent(getBlob(object));
Session session=getSessionFactory().openSession();
Transaction tx =session.beginTransaction();
session.save(test);
tx.commit();
session.close();
}
public static User readObjectFromDB(int id) throws IOException, SQLException, ClassNotFoundException{
Session session=getSessionFactory().openSession();
Test test=(Test) session.get(Test.class,id);
ObjectInputStream objectInputStream=new ObjectInputStream(test.getContent().getBinaryStream());
return (User)objectInputStream.readObject();
}
public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException {
User user=new User();
user.setId(1);
user.setAge(22);
user.setName("zhangsan");
writeObjectToDB(user);
User user1=readObjectFromDB(2);
System.out.println(user1.getId());
System.out.println(user1.getName());
System.out.println(user1.getAge());
}
}