场景:
大数据量做记录存储,mysql 使用 blob 类型。java 实体类对应的字段 使用 byte[] 类型作为对应的字段类型存储,持久化使用mybatis框架
使用:
1.定义:
SQL:alter table blob_test ADD column `new_data` BLOB DEFAULT NULL COMMENT '新数据' after id;
java : private byte[] newData;
2.存储:
字符串转byte :
TestVO data = new TestVO();
.....属性赋值
String s = JSON.toJSONString(data);
BlobTestPO blobTestPO = new BlobTestPO();
blobTestPO .setNewData(s.getBytes(StandardCharsets.UTF_8));
this.save(blobTestPO)
3.查询:
BlobTestPO byId = this.getById(id);
byte[] newData = byId.getNewData();
String s1 = new String(newData, StandardCharsets.UTF_8);
TestVO data = JSON.parseObject(s1, TestVO .class);
4.sql 客户端查询blob可视化展示
select CAST(new_data AS CHAR(10000) CHARACTER SET utf8) FROM blob_test