我知道什么是系列化但是我还没有找到描述后者(保存在JAVA_OBJECT映射数据库利用的对象)的任何真正的实际例子。我必须先序列化对象,然后将其保存到数据库?
在MySQL的情况下,你不必序列化对象首先,司机会为你做它。只需使用PreparedStatement.setObject
方法。
例如,首先在MySQL创建表:
create table blobs (b blob);
然后在Java程序中创建一个准备好的语句,设置参数,并执行:
PreparedStatement preps;
preps = connection.prepareStatement("insert into blobs (b) values (?)");
preps.setObject(1, new CustomObject());
preps.execute();
不要忘记阶级要存储的对象必须实现Serializable
接口。
序列被用于一个对象和Marshall它的状态保存到流和与远程进程共享。其他过程只需要具有相同的类版本反序列化流返回的对象。
与数据库方法的问题是,你需要将数据库暴露,甚至到远程进程。这通常是不这样做,由于各种原因,主要是安全性。