Spring boot Mybatis-plus PostgreSQL 处理json类型情况
- 一、前言
- 二、技术栈
- 三、背景分析
- 四、方案分析
-
- 4.1 在PostgreSQL 数据库中直接存储 json 对象
- 4.2 在PostgreSQL 数据库中存储 json 字符串
- 五、自定义类型处理器
-
- 5.1 定义类型处理器
- 5.2 使用自定义类型处理器
一、前言
在 Springboot 项目开发中,一般使用关系型数据库作为主库存储数据,有时候业务场景需要在既有的表结构上,扩展自定义业务信息。这种场景下一般使用json类型存储。本文总结 Springboot 项目中,借助 Mybatis-plus 操作json实践方案。
二、技术栈
Spring boot Mybatis-plus PostgreSQL,在 PostgreSQL 数据库中某一个字段为 json 类型。
三、背景分析
在 MyBatis 中,类型处理器(TypeHandler)扮演着 JavaType 与 JdbcType 之间转换的桥梁角色。它们用于在执行 SQL 语句时,将 Java 对象的值设置到 PreparedStatement 中,或者从 ResultSet 或 CallableStatement 中取出值。
MyBatis-Plus 给大家提供了提供了一些内置的类型处理器,可以通过 TableField
注解快速注入到 MyBatis 容器中,从而简化开发过程。MyBatis-Plus 字段类型处理器官方参考文档:字段类型处理器 | MyBatis-Plus (baomidou.com)
JSON 字段类型处理器
MyBatis-Plus 内置了多种 JSON 类