我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mybatis中,映射mysql中的JSON字段

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mybatis中,映射mysql中的JSON字段

数据库mysql中的的某一个字段,存放的是一个List 的集合,需要将字段对应到entity的某一个参数上,mapper.xml中使用
的方式直接进行字段映射时,会出现java.lang.IllegalStateException: No typehandler found for property abnormalEigenList,具体的错误:

java.lang.IllegalStateException: No typehandler found for property abnormalEigenListat org.apache.ibatis.mapping.ResultMapping$Builder.validate(ResultMapping.java:151)at org.apache.ibatis.mapping.ResultMapping$Builder.build(ResultMapping.java:140)at org.apache.ibatis.builder.MapperBuilderAssistant.buildResultMapping(MapperBuilderAssistant.java:446)at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildResultMappingFromContext(XMLMapperBuilder.java:393)at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:280)at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254)at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246)at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119)

这时,我们需要定义一个类,对该json字符串进行转义:

import com.alibaba.fastjson.JSONException;import com.alibaba.fastjson.JSONObject;import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;import java.util.ArrayList;import java.util.List;public class JsonHandler extends JacksonTypeHandler {    public JsonHandler (Class<?> type) {        super(type);    }    @Override    protected List<String> parse(String json) {        List<String> jsons = new ArrayList<>();        try {            jsons = JSONObject.parseArray(json, String.class);        } catch (JSONException e) {            jsons.add(JSONObject.parseObject(json, String.class));        }        return  jsons;    }}

在mapper.xml中,需要在字段映射时加入typeHandler,具体:

来源地址:https://blog.csdn.net/github_38924695/article/details/131501276

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mybatis中,映射mysql中的JSON字段

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mybatis-Plus怎么读写Mysql的Json字段

本篇内容主要讲解“Mybatis-Plus怎么读写Mysql的Json字段”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mybatis-Plus怎么读写Mysql的Json字段”吧!前置条件确保
2023-06-30

MyBatis中映射文件的使用

MyBatis中映射文件的使用 1、配置核心文件 ①引入映射文件 ​ 首先我们得在核心配置文件中配置mappers,引入映射文件所在的包 这里必须满足两个条件: 接口和映射文件所在的包必须一致接口的名字和映射文件的名字必须一致
2023-08-18

MySQL中json字段的操作方法

MySQL5.7.8中引入了json字段,这种类型的字段使用的频率比较低,但是在实际操作中,有些业务仍然在用,我们以此为例,介绍下json字段的操作方法: 还是从例子看起:mysql> create table test1(id in
2022-05-31

mybatis-plus之自动映射字段(typeHandler)的注意点及说明

这篇文章主要介绍了mybatis-plus之自动映射字段(typeHandler)的注意点及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-14

mysql中如何取出json字段

这篇文章主要介绍“mysql中如何取出json字段”,在日常操作中,相信很多人在mysql中如何取出json字段问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中如何取出json字段”的疑惑有所帮助!
2023-07-02

如何解决mybatis-plus实体类中出现非数据库映射字段的问题

本篇内容主要讲解“如何解决mybatis-plus实体类中出现非数据库映射字段”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决mybatis-plus实体类中出现非数据库映射字段”吧!在使
2023-06-07

mybatis中mapper映射的方法是什么

在MyBatis中,Mapper映射的方法是通过SQL语句来操作数据库。Mapper映射文件中定义了一系列的SQL语句,这些SQL语句与Java接口中的方法一一对应。Mapper接口中的方法可以使用注解或者XML来定义SQL语句,以完成对数
2023-09-16

mysql中取出json字段的小技巧

目录mysql取出json字段技巧mysql中使用函数JSON_EXTRACT()spark sql中使用get_jsoLfCBTJn_object()mysql取json,在不知道key情况下,取他的value详细值mysql取出json
2022-07-05

Mysql中JSON字段的值的实现示例

我们在查询mysql数据时,查询某个字段的数剧是我们经常接触的,直接使用sql语句或者更方便的直接使用数据库的orm语句查询。但是如果需要查询某个json字段里面的某些数据,orm模型可能都无法达到效果,还不如直接使用sql语句进行查询来的
Mysql中JSON字段的值的实现示例
2024-09-11

编程热搜

目录