Java实现对象序列化保存到数据库
时间:2010-6-13
Java对象序列化就那些实现了Serializable接口的对象转换成一个字节序列,并能够在以后将这个字节序列 完全恢复为原来的对象。这一过程甚至可以通过网络进行;运行Windows操作系统的计算机上创建的一个对象将其序列化,通过网络将它发送到一台运行Unix系统的计算机,然后在那里准确地重新组装。Java序列化的一个引用就是RMI,当向远程对象发送消息,需要通过对象序列化来传输参数和返回值。
PS:通过序列化之后我们可以将对象保存到持久化的设备如文件、数据库
实现:
实现Serializable接口。这个接口是标记接口里面没有什么方法要实现的!然后使用一个输出流(如:FileOutputStream) 构造一个ObjectOutputStream(对象流)。然后用ObjectOutputStream的writeObject(Object obj)方法就可以将参数为obj的对象写出保存其状态。如果要恢复的话就使用输入流实现!
1.数据表结构
CREATE TABLE `obj` (
`id` int(11) NOT NULL auto_increment,
`object` blob,
PRIMARY KEY(`id`)
) ENGINE=InnoDB
AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
2.读写代码
packageorg.test;
importjava.io.*;
importjava.util.ArrayList;
importjava