java sql查询结果存入mysql_java对象存储到mysql数据库

环境:mysql8  mybatis

背景:最近在做一个功能时需要对程序生成的对象保存到数据库中。

注意事项:需要存储的对象需要实现序列化接口

例:

import java.io.Serializable;

public class Test implements Serializable {

//一些属性

.......

}

代码:

实体类:

public class Entity {

private String id;

.....

//用来存储序列化后的对象

private byte[] blob;

//get和set方法

......

}

写数据库:将字节数组写进数据库,博主在mysql数据库创建相关字段时使用的是Blob类型。

public voidwriteMysql(Object object) {byte[] bytes = new byte[0];try (ByteArrayOutputStream byteArrayOutputStream = newByteArrayOutputStream()) {

ObjectOutputStream outputStream= newObjectOutputStream(byteArrayOutputStream);

outputStream.writeObject(object);

bytes=byteArrayOutputStream.toByteArray();

}catch(Exception e) {

e.printStackTrace();

}//下面写数据库

。。。。。。

}

读数据库:从数据库中读取blob类型数据,然后使用ObjectInputStream将对象反序列化

public void readMysql(Object object) {

// 从数据库中查询出结果

Object mysqlobject = 从数据查询出来的结果;

byte[] bytes = (byte[])从mysqlobject中取出存储的序列化对象

ObjectInputStream inputStream = null;

inputStream = new ObjectInputStream(new ByteArrayInputStream(bytes));

Object object3 = inputStream.readObject();

//object3就是存储之前的对象,接下来可以对object3强制转换为存储之前的类型,进行其他操作

。。。。。。。

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值