最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis-plus處理存儲(chǔ)json數(shù)據(jù)過(guò)程

 更新時(shí)間:2025年08月28日 09:50:43   作者:Wang__dream  
文章介紹MyBatis-Plus 3.4.21處理對(duì)象與集合的差異:對(duì)象可用內(nèi)置Handler配合autoResultMap,集合需自定義處理器繼承FastjsonTypeHandler并重寫parse方法,同時(shí)需明確指定類類型及XML中的resultMap以解決轉(zhuǎn)換問(wèn)題

對(duì)象和集合分兩種情況處理,目前我用的MP的版本是3.4.2

1、如果是對(duì)象

直接用MP內(nèi)置的Handler,JacksonTypeHandler或FastjsonTypeHandler

@TableField(typeHandler = FastjsonTypeHandler.class)
//@TableField(typeHandler = JacksonTypeHandler.class)
private CompaniesProject companiesProject;

然后 增加上 autoResultMap = true 屬性,數(shù)據(jù)庫(kù)字段companies_project mysql可以用json類型,沒有就用字符類型,就可以了

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

2、如果需要轉(zhuǎn)換的是List集合

那么目前MP自帶的Handler就不行,它只能處理對(duì)象,不能處理集合,需要進(jìn)行改造

下面這種會(huì)轉(zhuǎn)換失敗,直接報(bào)錯(cuò)的

@TableField(typeHandler = FastjsonTypeHandler.class)
//@TableField(typeHandler = JacksonTypeHandler.class)
private List<CompaniesProject> companiesProjectList;

需要把這段JSON.parseObject 改為解析集合的方法 JSON.parseArray

新建一個(gè)自定義處理器,然后繼承 FastjsonTypeHandler ,重載parse方法

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);
    }
}

這樣還不行,因?yàn)镸P不知為何解析不了 CompaniesProject 類型,需要明確告訴MP的class類型

修改 @TableName,增加resultMap

@TableName(value = "table_name",resultMap = "com.xx.xx.xxDao.selectResultMap")

在對(duì)應(yīng)的dao xml中

<mapper namespace="com.xx.xx.xxDao">
    <resultMap id="selectResultMap" type="com.xx.xx.xx.ProjectScholarshipDeclarationCompaniesProjectEntity">
        <result property="companiesProjectList" column="companies_project_list" typeHandler="com.xx.common.handler.JSONTypeHandler" javaType="com.xx.xx.ProjectScholarshipDeclarationCompaniesProjectEntity$CompaniesProject"/>
    </resultMap>

</mapper>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea將Springboot項(xiàng)目打war包部署到tomcat服務(wù)器上實(shí)現(xiàn)步驟

    idea將Springboot項(xiàng)目打war包部署到tomcat服務(wù)器上實(shí)現(xiàn)步驟

    本文詳細(xì)介紹了如何使用IntelliJ IDEA將Spring Boot項(xiàng)目打包成WAR文件并部署到Tomcat服務(wù)器上,步驟包括創(chuàng)建項(xiàng)目、修改pom.xml文件、進(jìn)行打包、將WAR文件復(fù)制到Tomcat的webapps目錄,并手動(dòng)啟動(dòng)Tomcat服務(wù)器進(jìn)行訪問(wèn)
    2025-11-11
  • JAVA Frame 窗體背景圖片,首位相接滾動(dòng)代碼實(shí)例

    JAVA Frame 窗體背景圖片,首位相接滾動(dòng)代碼實(shí)例

    這篇文章主要介紹了JAVA Frame 窗體背景圖片,首位相接滾動(dòng)代碼示例,需要的朋友可以參考下復(fù)制代碼
    2017-04-04
  • 如何基于Spring使用工廠模式實(shí)現(xiàn)程序解耦

    如何基于Spring使用工廠模式實(shí)現(xiàn)程序解耦

    這篇文章主要介紹了如何基于Spring使用工廠模式實(shí)現(xiàn)程序解耦,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • spring中使用Mockito解決Bean依賴樹問(wèn)題方法

    spring中使用Mockito解決Bean依賴樹問(wèn)題方法

    在本篇文章里小編給各位整理了關(guān)于spring中使用Mockito解決Bean依賴樹問(wèn)題方法,有需要的朋友們可以參考下。
    2020-01-01
  • Maven中生命周期的具體使用

    Maven中生命周期的具體使用

    在 Maven 出現(xiàn)之前,項(xiàng)目構(gòu)建的生命周期就已經(jīng)存在,本文主要介紹了Maven中生命周期的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • java 中break如何跳出外部循環(huán)

    java 中break如何跳出外部循環(huán)

    這篇文章主要介紹了java 中break如何跳出外部循環(huán),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    我們經(jīng)常會(huì)遇到一下問(wèn)題:Spring對(duì)靜態(tài)變量的注入為空、在構(gòu)造函數(shù)中使用Spring容器中的Bean對(duì)象,得到的結(jié)果為空。不要擔(dān)心,本文將為大家介紹如何解決這些問(wèn)題,跟隨小編來(lái)看看吧
    2021-11-11
  • java之左旋轉(zhuǎn)字符串介紹

    java之左旋轉(zhuǎn)字符串介紹

    java之左旋轉(zhuǎn)字符串介紹,需要的朋友可以參考一下
    2013-02-02
  • Java技巧:快速獲取圖片拍攝時(shí)間

    Java技巧:快速獲取圖片拍攝時(shí)間

    想知道如何用Java讀取圖片的拍攝時(shí)間嗎?在這篇指南中,我將向你展示如何利用Java編程語(yǔ)言輕松獲取圖像的拍攝時(shí)間信息,不要錯(cuò)過(guò)這個(gè)簡(jiǎn)單而有用的技巧!
    2023-12-12
  • java 設(shè)計(jì)模式之單例的實(shí)例詳解

    java 設(shè)計(jì)模式之單例的實(shí)例詳解

    這篇文章主要介紹了java 設(shè)計(jì)模式之單例的實(shí)例詳解的相關(guān)資料, 希望通過(guò)本文能幫助到大家,讓大家徹底理解掌握單例模式,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

偏关县| 泰来县| 得荣县| 海淀区| 鹤壁市| 晋中市| 黄龙县| 柳江县| 天津市| 都昌县| 东乡县| 岳阳市| 湘潭市| 买车| 东兰县| 云南省| 卢湾区| 应城市| 内黄县| 临海市| 赤壁市| 保靖县| 静安区| 略阳县| 潍坊市| 邻水| 南安市| 大足县| 凤台县| 汉阴县| 高陵县| 隆回县| 名山县| 侯马市| 灵武市| 拜泉县| 灵山县| 南召县| 定西市| 泰州市| 尖扎县|