当前位置: 移动技术网 > IT编程>开发语言>Java > Mysql存储java对象实例详解

Mysql存储java对象实例详解

2019年07月22日  | 移动技术网IT编程  | 我要评论

mysql存储java对象

mysql  设置字段为 blob

保存对象,先将对象序列化为byte[]  使用 setobject(byte[] bytes)

bytearrayoutputstream baos = new bytearrayoutputstream(); 
    objectoutputstream out = null; 
    try { 
      out = new objectoutputstream(baos); 
      out.writeobject(java实例对象);    
    } catch (ioexception e) { 
      logger.error("msg2bytes error!", e); 
    }finally{ 
      try { 
        out.close(); 
      } catch (ioexception e) { 
        logger.error("msg2bytes error!", e); 
      } 
    } 
     
    return baos.tobytearray(); 

获取对象 使用getbytes(),将获取的byte[]反序列化为java 对象

bytearrayinputstream bais; 
    objectinputstream in = null; 
    try{ 
      bais = new bytearrayinputstream(bytes); 
      in = new objectinputstream(bais); 
 
      return (java类)in.readobject(); 
    }finally{ 
      if(in != null){ 
        try { 
          in.close(); 
        } catch (ioexception e) { 
          logger.error("bytes2msg error!", e); 
        } 
      } 
    } 

网上的其他方式会有各类问题,请慎用。

包括:

1.设置url参数 autodeserialize=true
2.setobject(java实例对象)        查询

objectinputstream oips = new objectinputstream(rs.getbinarystream(1)); 
arraylist<string> obb = (java类)oips.readobject();//从流中读取对象 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网