Mybatisplus实现JSON处理器的示例代码

 更新时间:2024年03月25日 15:37:36   作者:厂里英才  
Mybatisplusjson是基于Mybatisplus开发的一个json工具库,本文主要介绍了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处理器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • feign微服务之间传递请求头数据方式

    feign微服务之间传递请求头数据方式

    这篇文章主要介绍了feign微服务之间传递请求头数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • 基于Spring 6.1 RestClient构建高可用声明式HTTP客户端方案详解

    基于Spring 6.1 RestClient构建高可用声明式HTTP客户端方案详解

    文章介绍了如何基于Spring 6.1的RestClient构建高可靠声明式HTTP客户端,解决了传统RestTemplate的诸多问题,包括同步调用、负载均衡和安全令牌透传等,通过一系列代码示例和解析,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • 详解Java拦截器以及自定义注解的使用

    详解Java拦截器以及自定义注解的使用

    这篇文章主要为大家介绍了Java拦截器以及自定义注解的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
    2021-12-12
  • Java 线程池的作用以及该如何使用

    Java 线程池的作用以及该如何使用

    这篇文章主要介绍了Java 线程池的作用以及该如何使用,帮助大家更好的理解和学习Java的相关知识,感兴趣的朋友可以了解下
    2021-01-01
  • 关于JVM翻越内存管理的墙

    关于JVM翻越内存管理的墙

    这篇文章主要介绍了JVM翻越内存管理的墙,由虚拟机管理内存看起来一切都很美好,但也正是因为把控制内存的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,就不得不从Java虚拟机角度上去排查问题,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Java LinkedList源码深入分析

    Java LinkedList源码深入分析

    链表(Linkedlist)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表
    2022-08-08
  • Spring 父类变量注入失败的解决

    Spring 父类变量注入失败的解决

    这篇文章主要介绍了Spring 父类变量注入失败的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • springboot项目中整合高德地图的实践

    springboot项目中整合高德地图的实践

    这篇文章主要介绍了springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • 如何在SpringBoot中使用Spring-AOP实现接口鉴权

    如何在SpringBoot中使用Spring-AOP实现接口鉴权

    这篇文章主要介绍了如何在SpringBoot中使用Spring-AOP实现接口鉴权,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • springboot的jar能独立运行的原因解析

    springboot的jar能独立运行的原因解析

    这篇文章主要介绍了springboot的jar能独立运行的原因解析,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12

最新评论