打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
对象序列化

将对象序列化然后存入数据库:

ByteArrayOutputStream bos = new ByteArrayOutputStream();
            ObjectOutputStream oos = null;
            try {
                oos = new ObjectOutputStream(bos);
                oos.writeObject(req);
            } catch (IOException e) {
                LOG.error("Serialable failed", e);
            }

            serviceLogDTO.setSerializedRequest(bos.toByteArray());

解释:req是要序列化的对象,数据库中存储的类型是blob,即二进制数据,数据对象的类型是byte[] ,存储时使用ByteArrayOutputStream的toByteArray方法转化字节数组即存储二进制数据。

将序列化的对象从数据库中取出:

byte[] bytes =sldo.getSerializedRequest();

ByteArrayInputStream   bais   =   new   ByteArrayInputStream(bytes); 
        ObjectInputStream obis = null;
        DirectChargeRequest req = null;
        try {
            obis = new  ObjectInputStream(bais);
             req  =   (DirectChargeRequest)obis.readObject();  
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 

解释:bytes是从数据库取出的存储了二进制数据的对象,通过ByteArrayInputStream来构造一个ObjectInputStream对象,再通过构造出的这个对象将二进制数据读出来转化成Object对象,req即是取出的对象。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/h345210sun/archive/2009/11/30/4907836.aspx

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
对象转Byte数组,byte数组转对象
JSON序列化导致Long类型被搞成Integer经典巨坑
【RPC 专栏】深入理解RPC之序列化篇 —— Kryo
图片与二进制之间的转换
一个工作三年的同事,居然还搞不清深拷贝、浅拷贝...
Java开发之规范
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服