首页 > 其他分享 >MyBatis-plus 3.5之前版本 处理存储json数据

MyBatis-plus 3.5之前版本 处理存储json数据

时间:2024-09-30 18:49:57浏览次数:12  
标签:自定义 typeHandler json 3.5 plus FastjsonTypeHandler type class

MyBatis-plus 3.6之后支持集合泛型,不需要自定义TypeHandler

当前使用的是MyBatis-plus 3.5.2版本

一:如果是支持对象,直接用MP内置的Handler,JacksonTypeHandler或FastjsonTypeHandler

@TableField(typeHandler = FastjsonTypeHandler.class)

//@TableField(typeHandler = JacksonTypeHandler.class)

private Student student;

@TableName(value = "student" ,autoResultMap = true)

在表名映射上新增autoResultMap = true 属性,数据库字段student 中mysql中的json类型

二:如果是List集合,那么目前MP自带的Handler就不行,它只能处理对象,不能处理集合,需自定义Handler

分析原码:FastjsonTypeHandler支持Obect类型

MyBatis-plus 3.5之前版本 处理存储json数据_List

重写FastjsonTypeHandler类

public class JSONTypeHandler extends FastjsonTypeHandler {
private final Class<? extends Object> type;
public JSONTypeHandler(Class<?> type) {
    super(type);
    this.type = type;
}

@Override
protected List parse(String json) {
    return JSON.parseArray(json, type);
    //        return JSON.parseObject(json, type);
}
@Override
protected String toJson(Object obj) {
    return super.toJson(obj);
}
}

自定义具体转换实现类

public class StudentHandler extends JSONTypeHandler {
    public StudentHandler() {
       super(Student.class);
    }
}

在表映射新增自定义实现hanlder,@TableField(typeHandler = StudentHandler.class)

/**
    * 赛事详情
    */
@TableField(typeHandler = StudentHandler.class)
 private List<Student> students;

标签:自定义,typeHandler,json,3.5,plus,FastjsonTypeHandler,type,class
From: https://blog.51cto.com/jition/12155652

相关文章

  • 八字五行强弱喜用神测算api免费接口_json数据格式_可计算五行打分强弱
    八字以木、火、土、金、水去分析其旺弱,而分析之法以月令地支最为有力,其次为时支,再次为日支,最弱为年支,而天干必须见地支有同类或有生自己的五行才有用,因为只有天干一个单独的五行,其力会弱至无用。这个接口是免费的,通过get方式获取数据,数据格式json。接口名称:八字五行强弱测算api免......
  • 五,MyBatis-Plus 当中的 “ActiveRecord模式”和“SimpleQuery工具类”(详细实操)
    五,MyBatis-Plus当中的“ActiveRecord模式”和“SimpleQuery工具类”(详细实操)文章目录五,MyBatis-Plus当中的“ActiveRecord模式”和“SimpleQuery工具类”(详细实操)1.ActiveRecord模式2.ActiveRecord介绍2.1ActiveRecord实现3.SimpleQuery工具类3.1SimpleQuer......
  • 五,MyBatis-Plus 当中的 “ActiveRecord模式”和“SimpleQuery工具类”(详细实操)
    五,MyBatis-Plus当中的“ActiveRecord模式”和“SimpleQuery工具类”(详细实操)@目录五,MyBatis-Plus当中的“ActiveRecord模式”和“SimpleQuery工具类”(详细实操)1.ActiveRecord模式2.ActiveRecord介绍2.1ActiveRecord实现3.SimpleQuery工具类3.1SimpleQuery介绍3.2list......
  • 吐血整理(最全论文指令手册),还有 ChatGPT 3.5/4.0 新手使用手册~ 【亲测好用】
    今天给大家分享下论文润色、降重、写作的GPT指令提示词,按论文步骤整理让你的文章更加有逻辑且通顺,助力快速完成论文,相信对你有帮助~一、论文写作润色指令1、写作选题指令①确定研究对象我是一名【XXXXX】,请从以下素材内容中,结合【XXXXX】相关知识,提炼出可供参考的学术......
  • 亲测好用,ChatGPT 3.5/4.0新手使用手册,最好论文指令手册~
    本以为遥遥领先的GPT早就普及了,但小伙伴寻找使用的热度一直高居不下,其实现在很简单了!国产大模型快200家了,还有很多成熟的国内AI产品,跟官网一样使用,还更加好用~①3.5大多数场景是够用的,也领先一众国产大模型,性价比挺好的②4.0在综合能力方面的确更出色,尤其是逻......
  • 吐血整理(最全论文指令手册),还有 ChatGPT 3.5/4.0 新手使用手册~ 【亲测好用】
    今天给大家分享下论文润色、降重、写作的GPT指令提示词,按论文步骤整理让你的文章更加有逻辑且通顺,助力快速完成论文,相信对你有帮助~一、论文写作润色指令1、写作选题指令①确定研究对象我是一名【XXXXX】,请从以下素材内容中,结合【XXXXX】相关知识,提炼出可供参考的学术概......
  • 高点摄像山火烟雾检测数据集 共2890张图像,分辨率1920×1080,标注采用json格式,标注了每
    高点摄像山火烟雾检测数据集(并按照低、中详细标注烟雾浓度)。主要针对初期山火,任何野火检测系统的最重要目标是在火势扩大之前及时检测到火灾。在初期阶段,野火由非火焰性的燃烧烟雾组成,热量相对较低。在这个阶段识别火灾能够提供最佳的抑制机会。在这个阶段通常看不到火焰;因此,任......
  • 【漏洞复现】用友畅捷通-TPlus FileUploadHandler.ashx 任意文件上传
    》》》产品描述《《《  ‌用友畅捷通-TPlus‌是由用友集团成员企业畅捷通公司开发的一款企业级财务管理工具,旨在帮助企业实现财务管理的现代化和智能化。作为畅捷通旗下的核心产品,TPlus集成了财务核算、资金管理、预算控制等多项核心功能,通过自动化和智能化的手段,提高企......
  • Jsoncpp
    欢迎访问我的另一个博客:https://xingzhu.top/Json概述:https://xingzhu.top/archives/json-gai-shuC++中原生不支持Json,所以需要导入Jsoncpp库准备环境下载Jsoncpp从github上下载源码#这是链接地址https://github.com/open-source-parsers/jsoncpp这里我使......
  • Json 概述
    C++版的Json使用:https://xingzhu.top/archives/jsoncpp概述是一个完全独立于编程语言的文本格式,用来存储和表示数据的Json是一种数据格式,和语言无关,在什么语言中都可以使用Json用途:组织数据(数据序列化),用于数据的网络传输组织数据(数据序列化),写磁盘文件实现数据的......