SpringBoot+MyBatis操作Postgresql中Json数据类型

SpringBoot+MyBatis操作Postgresql中Json数据类型MyBatis中并没有原生json的jdbcType支持,只能通过自定义TypeHandler来实现转换假设这是我要存入数据库的json串:{"createtime":"2020-08-06T03:57:08.382Z","dataid":"727d2094-f6b3-4eee-a39b-7544c04105fc","schemaid":"ec9ebd79-d74d-4e0f-b026-9653006940f2"}格式化
摘要由CSDN通过智能技术生成

SpringBoot+MyBatis操作Postgresql中Json数据类型

MyBatis中并没有原生json的jdbcType支持,只能通过自定义TypeHandler来实现转换

假设这是我要存入数据库的json串:

{
   "createtime":"2020-08-06T03:57:08.382Z","dataid":"727d2094-f6b3-4eee-a39b-7544c04105fc","schemaid":"ec9ebd79-d74d-4e0f-b026-9653006940f2"}

格式化一下:

{
   
	"createtime": "2020-08-06T03:57:08.382Z",
	"dataid": "727d2094-f6b3-4eee-a39b-7544c04105fc",
	"schemaid": "ec9ebd79-d74d-4e0f-b026-9653006940f2"
}

我希望的效果:
在这里插入图片描述
首先新建实体类做映射,data字段设置为JSONObject 类型

    private Object dataid;
    private Object schemaid;
    private JSONObject data;
    private Date createtime;
    //省略getter setter方法

第二部新建ObjectJsonHandler类做自定义TypeHandler

/**
 * @author Oct.Ca
 * @version 1.0
 * @date 2020/8/6 11:34
 * postgres中json格式的字段,进行转换的自定义转换器,转换为实体类的JSONObject属性
 * MappedTypes注解中的类代表此转换器可以自动转换为的java对象
 */
@MappedTypes(JSONObject.class)
public class ObjectJsonHandler extends BaseTypeHandler<JSONObject> {
   
    //引入PGSQL提供的工具类PGobject
    private static final PGobject jsonObject = new PGobject();
    @Override
    
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值