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

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

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

背景

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

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)系,不用的.。

同時,內(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,啟動時不會報錯,但是請求方法時會報如下錯誤:

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.

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

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

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

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

總結(jié)

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

相關(guān)文章

  • Mybatis-plus中QueryWrapper的多種用法小結(jié)

    Mybatis-plus中QueryWrapper的多種用法小結(jié)

    本文主要介紹了Mybatis-plus中QueryWrapper的多種用法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 使用Spring boot 的profile功能實現(xiàn)多環(huán)境配置自動切換

    使用Spring boot 的profile功能實現(xiàn)多環(huán)境配置自動切換

    這篇文章主要介紹了使用Spring boot 的profile功能實現(xiàn)多環(huán)境配置自動切換的相關(guān)知識,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-11-11
  • java yaml轉(zhuǎn)properties工具類方式

    java yaml轉(zhuǎn)properties工具類方式

    這篇文章主要介紹了java yaml轉(zhuǎn)properties工具類方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 在springboot中注入FilterRegistrationBean不生效的原因

    在springboot中注入FilterRegistrationBean不生效的原因

    這篇文章主要介紹了在springboot中注入FilterRegistrationBean不生效的原因及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java實現(xiàn)五子棋小游戲

    java實現(xiàn)五子棋小游戲

    這篇文章主要介紹了java實現(xiàn)五子棋小游戲的相關(guān)資料,十分簡單實用,推薦給大家,需要的朋友可以參考下
    2015-03-03
  • 快速學(xué)會Dubbo的配置環(huán)境及相關(guān)配置

    快速學(xué)會Dubbo的配置環(huán)境及相關(guān)配置

    本文主要講解Dubbo的環(huán)境與配置,文中運用大量代碼和圖片講解的非常詳細,需要學(xué)習(xí)或用到相關(guān)知識的小伙伴可以參考這篇文章
    2021-09-09
  • PageHelper在springboot中的使用方式

    PageHelper在springboot中的使用方式

    這篇文章主要介紹了PageHelper在springboot中的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java版微信公眾平臺消息接口應(yīng)用示例

    java版微信公眾平臺消息接口應(yīng)用示例

    這篇文章主要介紹了java版微信公眾平臺消息接口應(yīng)用,結(jié)合實例形式對比分析了PHP與java應(yīng)用微信公眾平臺接口的相關(guān)調(diào)用與操作技巧,需要的朋友可以參考下
    2017-07-07
  • spring mvc 組合mybatis框架實例詳解

    spring mvc 組合mybatis框架實例詳解

    本項目采用 maven 結(jié)構(gòu),主要演示了 spring mvc + mybatis,controller 獲取數(shù)據(jù)后以json 格式返回數(shù)據(jù)。對spring mvc 組合mybatis的方法感興趣的朋友可以參考下本文
    2018-01-01
  • Java基礎(chǔ)題新手練習(xí)(一)

    Java基礎(chǔ)題新手練習(xí)(一)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07

最新評論