欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis中如何映射mysql中的JSON字段

 更新時(shí)間:2023年10月12日 14:35:17   作者:藍(lán)色格子  
在mapper.xml中,需要在字段映射時(shí)加入typeHandler,具體:<id?property="abnormalEigenList"?column="AbnormalEigen"?typeHandler="com.xxx.config.JsonHandler">,下面通過(guò)本文給大家介紹Mybatis中,映射mysql中的JSON字段,需要的朋友可以參考下

數(shù)據(jù)庫(kù)mysql中的的某一個(gè)字段,存放的是一個(gè)List <String>的集合,需要將字段對(duì)應(yīng)到entity的某一個(gè)參數(shù)上,mapper.xml中使用
<id property="abnormalEigenList" column="AbnormalEigen">的方式直接進(jìn)行字段映射時(shí),會(huì)出現(xiàn)java.lang.IllegalStateException: No typehandler found for property abnormalEigenList,具體的錯(cuò)誤:

java.lang.IllegalStateException: No typehandler found for property abnormalEigenList
	at 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)

這時(shí),我們需要定義一個(gè)類,對(duì)該json字符串進(jìn)行轉(zhuǎn)義:

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;
/**
 * @author: 
 * @date: 2023-07-02 15:08
 * @description: 進(jìn)行json字段的轉(zhuǎn)換
 */
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中,需要在字段映射時(shí)加入typeHandler,具體:<id property="abnormalEigenList" column="AbnormalEigen" typeHandler="com.xxx.config.JsonHandler">

到此這篇關(guān)于Mybatis中映射mysql中的JSON字段的文章就介紹到這了,更多相關(guān)mysql JSON字段內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在eclipse中使用SVN的實(shí)現(xiàn)方法(圖文教程)

    在eclipse中使用SVN的實(shí)現(xiàn)方法(圖文教程)

    這篇文章主要介紹了在eclipse中使用SVN的實(shí)現(xiàn)方法(圖文教程),文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java8中stream流的collectingAndThen方法應(yīng)用實(shí)例詳解

    Java8中stream流的collectingAndThen方法應(yīng)用實(shí)例詳解

    Java8中的Stream流提供了collectingAndThen方法,用于對(duì)歸納結(jié)果進(jìn)行二次處理,文章通過(guò)User類的數(shù)據(jù)填充,演示了如何使用該方法進(jìn)行集合去重、查找最高工資員工、計(jì)算平均工資等操作,感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • springmvc集成shiro登錄失敗處理操作

    springmvc集成shiro登錄失敗處理操作

    這篇文章主要介紹了springmvc集成shiro登錄失敗處理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • java  BASE64Encoder詳細(xì)介紹及簡(jiǎn)單實(shí)例

    java BASE64Encoder詳細(xì)介紹及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了java BASE64Encoder詳細(xì)介紹及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Java實(shí)現(xiàn)簡(jiǎn)單的掃雷小程序

    Java實(shí)現(xiàn)簡(jiǎn)單的掃雷小程序

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的掃雷小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Spring中的refresh方法分析

    Spring中的refresh方法分析

    這篇文章主要介紹了Spring中的refresh方法分析,文章圍繞主題展開詳細(xì)的refresh方法相關(guān)資料介紹,需要的小伙伴可以參考一下
    2022-05-05
  • redisson.tryLock()參數(shù)的使用及理解

    redisson.tryLock()參數(shù)的使用及理解

    這篇文章主要介紹了redisson.tryLock()參數(shù)的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java超詳細(xì)分析垃圾回收機(jī)制

    Java超詳細(xì)分析垃圾回收機(jī)制

    一個(gè)運(yùn)行中的程序,?產(chǎn)生的對(duì)象是大量的,?如果對(duì)象不被繼續(xù)使用,?就會(huì)成為垃圾,?最后越堆越多,?最后占滿內(nèi)存,?所以我們要對(duì)這些垃圾進(jìn)行回收,保持程序的正常運(yùn)行
    2022-05-05
  • SpringBoot集成MyBatis的三種方式

    SpringBoot集成MyBatis的三種方式

    Spring Boot與MyBatis的集成為Java開發(fā)者提供了一種簡(jiǎn)便而強(qiáng)大的方式來(lái)訪問(wèn)和操作數(shù)據(jù)庫(kù),在本文中,我們將深入解析Spring Boot集成MyBatis的多種方式,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • idea自帶Jacoco/idea自動(dòng)測(cè)試語(yǔ)句覆蓋率方法(使用詳解)

    idea自帶Jacoco/idea自動(dòng)測(cè)試語(yǔ)句覆蓋率方法(使用詳解)

    這篇文章主要介紹了idea自帶Jacoco/idea自動(dòng)測(cè)試語(yǔ)句覆蓋率方法,本文給大家分享使用方法,通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論