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

當(dāng)mybatis返回值遇見內(nèi)部類的問題

 更新時(shí)間:2023年12月01日 16:06:01   作者:三省同學(xué)  
這篇文章主要介紹了當(dāng)mybatis返回值遇見內(nèi)部類的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

背景

使用mybatis返回內(nèi)部類時(shí),無法點(diǎn)擊過去,啟動(dòng)報(bào)錯(cuò)

Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.XXX.A$B'.  
Cause: java.lang.ClassNotFoundException: Cannot find class: com.XXX.A$B
    at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:120)
    at org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:149)
    at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:116)
    ... 65 common frames omitted

解決方案

如果B類是A類中的內(nèi)部類:

映射寫法:resultType=" com.XXX.A$B">

A類和B類之間用 $表示內(nèi)外關(guān)系,不用的.。

同時(shí),內(nèi)部類需用內(nèi)static修飾:

@Data
public class A {

    Long value;
    String label;
    List<B> children;

    /**
     * 內(nèi)部類
     */
    @Data
    public static class B {
	    Long value;
		String label;
	    List<C> children;
    }
    
   	/**
     * 內(nèi)部類
     */
    @Data
    public static class C {
	    Long value;
		String label;
    }
}

為什么要用static

如果未加static,啟動(dòng)時(shí)不會(huì)報(bào)錯(cuò),但是請(qǐng)求方法時(shí)會(huì)報(bào)如下錯(cuò)誤:

Caused by: org.apache.ibatis.executor.ExecutorException: 
No constructor found in com.XXX.A$B matching
 [java.lang.Long, java.lang.String, java.lang.Long, java.lang.String, java.lang.Long, java.lang.String]

未匹配到構(gòu)造器

靜態(tài)內(nèi)部類和內(nèi)部類區(qū)別

Oracle官方的說法:

Terminology: Nested classes are divided into two categories: static and non-static. Nested classes that are declared static are called static nested classes. Non-static nested classes are called inner classes.

從字面上看,一個(gè)被稱為靜態(tài)嵌套類,一個(gè)被稱為內(nèi)部類。 從字面的角度解釋是這樣的:

  • 什么是嵌套?嵌套就是我跟你沒關(guān)系,自己可以完全獨(dú)立存在。
  • 什么是內(nèi)部??jī)?nèi)部就是我是你的一部分,我了解你,我知道你的全部,沒有你就沒有我。(所以內(nèi)部類對(duì)象是以外部類對(duì)象存在為前提的)

至于具體的使用場(chǎng)景見官網(wǎng):

http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

總結(jié)

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

相關(guān)文章

  • Springboot @Value使用代碼實(shí)例

    Springboot @Value使用代碼實(shí)例

    這篇文章主要介紹了Springboot @Value使用代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java的外部類為什么不能使用private和protected進(jìn)行修飾的講解

    Java的外部類為什么不能使用private和protected進(jìn)行修飾的講解

    今天小編就為大家分享一篇關(guān)于Java的外部類為什么不能使用private和protected進(jìn)行修飾的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Java實(shí)現(xiàn)按比例縮小圖片

    Java實(shí)現(xiàn)按比例縮小圖片

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)按比例縮小圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java利用Geotools實(shí)現(xiàn)不同坐標(biāo)系之間坐標(biāo)轉(zhuǎn)換

    Java利用Geotools實(shí)現(xiàn)不同坐標(biāo)系之間坐標(biāo)轉(zhuǎn)換

    GeoTools 是一個(gè)開源的 Java GIS 工具包,可利用它來開發(fā)符合標(biāo)準(zhǔn)的地理信息系統(tǒng)。本文將利用工具包Geotools實(shí)現(xiàn)不同坐標(biāo)系之間坐標(biāo)轉(zhuǎn)換,感興趣的可以了解一下
    2022-08-08
  • Java實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)MNIST手寫數(shù)字識(shí)別的示例詳解

    Java實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)MNIST手寫數(shù)字識(shí)別的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)MNIST手寫數(shù)字識(shí)別的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • 解決Springboot項(xiàng)目中很多頁(yè)面出現(xiàn)Whitelabel Error Page(404)的問題

    解決Springboot項(xiàng)目中很多頁(yè)面出現(xiàn)Whitelabel Error Page(404)的問題

    最近在接手的前后端項(xiàng)目中發(fā)現(xiàn)其默認(rèn)路徑不是主機(jī)+端口(如:http://localhost:3453/)的形式,很多頁(yè)面的訪問是加了一個(gè)層級(jí),只要訪問頁(yè)面就會(huì)出現(xiàn)Whitelabel Error Page(404),所以本文給大家提供了解決方案,需要的朋友可以參考下
    2024-02-02
  • Spring IOC 三種配置方式詳解

    Spring IOC 三種配置方式詳解

    這篇文章主要介紹了Spring IOC 三種配置方式,基于xml配置方式組件管理,基于注解方式管理和配置類方式管理,這三種方式,通過圖文講解的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • 詳解Java深拷貝,淺拷貝和Cloneable接口

    詳解Java深拷貝,淺拷貝和Cloneable接口

    這篇文章主要為大家詳細(xì)介紹了Java中Cloneable接口以及深拷貝與淺拷貝的相關(guān)知識(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-08-08
  • SpringBoot請(qǐng)求參數(shù)傳遞與接收示例詳解

    SpringBoot請(qǐng)求參數(shù)傳遞與接收示例詳解

    本文給大家介紹SpringBoot請(qǐng)求參數(shù)傳遞與接收示例詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-08-08
  • Java讀取String分行字符串的方法

    Java讀取String分行字符串的方法

    今天小編就為大家分享一篇Java讀取String分行字符串的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評(píng)論

西盟| 茂名市| 雅江县| 大渡口区| 大港区| 磐石市| 井冈山市| 莎车县| 响水县| 松原市| 芜湖县| 临清市| 南汇区| 肃宁县| 宁陕县| 满城县| 凤山市| 漯河市| 垣曲县| 工布江达县| 湾仔区| 邵阳县| 东港市| 嘉祥县| 甘泉县| 乡宁县| 扶绥县| 霸州市| 泰安市| 桑日县| 棋牌| 周口市| 玉田县| 铜鼓县| 峨眉山市| 福鼎市| 蓬溪县| 手游| 津南区| 延吉市| 孝昌县|