您的位置:首页 > 编程语言 > Java开发

Mysql存储java对象实例详解

2016-11-17 11:44 711 查看

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();//从流中读取对象 

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Mysql存储 java对象