Mysql存储java对象实例详解
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();//从流中读取对象
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
关于Java Guava ImmutableMap不可变集合源码分析
这篇文章主要介绍Java Guava不可变集合ImmutableMap的源码分析的相关资料,需要的朋友可以参考下面具体的文章内容2021-09-09
Springboot项目实现Mysql多数据源切换的完整实例
这篇文章主要给大家介绍了关于Springboot项目实现Mysql多数据源切换的完整实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11
使用 Spring Boot Admin 监控应用状态的详细过程
这篇文章主要介绍了使用 Spring Boot Admin 监控应用状态,该模块采集应用的内部信息,并暴露给外部的模块,支持 HTTP 和 JMX,并可以与一些第三方监控系统(如 Prometheus)整合,需要的朋友可以参考下2022-09-09


最新评论