Mybatisplus实现JSON处理器的示例代码
1 前言
这是我最近学到的比较新奇的一个东西,数据库居然还可以存储JSON格式的数据,如下。虽然我感觉一般也没谁会这样干,但是既然有,那就当个科普讲一下Mybatis plus的JSON处理器。万一以后遇到了呢,就很离谱。
create table user(
info json
)在数据库中形式如下:
{"age": xx, "gender": "xxx"}
2 使用方法
2.1 定义json实体类
@Data
@NoArgsConstructor
//表示该类的构造函数可以通过调用静态方法of()来创建对象。staticName属性指定了静态方法的名称。
@AllArgsConstructor(staticName = "of")
public class UserInfo {
private Integer age;
private String gender;
}2.2 在实体类中使用
@TableName(autoResultMap = true)
public class User {
@TableField(typeHandler = JacksonTypeHandler.class)
private UserInfo info;
//其它代码...
}注解的解释:
@TableName(autoResultMap = true)
autoResultMap = true表示开启自动结果集映射功能。这意味着MyBatis-Plus会根据实体类的字段信息自动生成SQL查询结果到实体类对象的映射规则,无需手动编写 resultMap 映射配置。主要用于对象嵌套的情况。
@TableField(typeHandler = JacksonTypeHandler.class)
因为Mybatis并没有给我们提供数据库JSON和Java实体类相互转化的功能,所以我们需要使用MP给我们提供的注解来实现转化。其实一共有三种可选,如下,不过我们的SpringMVC默认包含Jackson,另外两种还得再引入依赖。

到此这篇关于Mybatisplus实现JSON处理器的示例代码的文章就介绍到这了,更多相关Mybatisplus JSON处理器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
浅谈Java中实现深拷贝的两种方式—clone() & Serialized
这篇文章主要介绍了Java中实现深拷贝的两种方式—clone() & Serialized,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-03-03
SpringBoot项目改为SpringCloud项目使用nacos作为注册中心的方法
本文主要介绍了SpringBoot项目改为SpringCloud项目使用nacos作为注册中心,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04
Java实现STL中的全排列函数next_permutation()
在算法竞赛中,全排列问题是一个经典且常见的题目,传统的递归方法在处理较大的n时会遇到堆栈内存限制的问题,本文介绍了一种避免递归,使用next_permutation函数实现全排列的方法,感兴趣的朋友跟随小编一起看看吧2024-09-09


最新评论