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

當mybatis返回值遇見內部類的問題

 更新時間:2023年12月01日 16:06:01   作者:三省同學  
這篇文章主要介紹了當mybatis返回值遇見內部類的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

背景

使用mybatis返回內部類時,無法點擊過去,啟動報錯

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類中的內部類:

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

A類和B類之間用 $表示內外關系,不用的.。

同時,內部類需用內static修飾:

@Data
public class A {

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

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

為什么要用static

如果未加static,啟動時不會報錯,但是請求方法時會報如下錯誤:

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]

未匹配到構造器

靜態(tà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.

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

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

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

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

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Springboot @Value使用代碼實例

    Springboot @Value使用代碼實例

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

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

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

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

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

    Java利用Geotools實現(xiàn)不同坐標系之間坐標轉換

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

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

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

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

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

    Spring IOC 三種配置方式詳解

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

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

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

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

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

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

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

最新評論

肇源县| 龙山县| 沂源县| 泸西县| 灵台县| 报价| 阳原县| 娱乐| 炉霍县| 东源县| 宜州市| 綦江县| 韶关市| 武义县| 乳源| 宣化县| 桂东县| 乾安县| 中宁县| 武夷山市| 柳林县| 万盛区| 巨野县| 九龙城区| 长寿区| 太原市| 新郑市| 西昌市| 石首市| 尼木县| 车险| 济阳县| 白水县| 沧州市| 新津县| 共和县| 永吉县| 岱山县| 中江县| 于田县| 辛集市|