Springboot Mybatis type-aliases-package錯(cuò)誤的解決方案
背景
最近在練習(xí)spring boot 2.7.0整合mybatis 2.1.3時(shí),發(fā)現(xiàn)在使用mybatis.type-aliases-package配置后,xml中的別名會(huì)出現(xiàn)爆紅的現(xiàn)象。
錯(cuò)誤復(fù)現(xiàn)
配置文件中,使用mybatis.type-aliases-package配置類的別名

?在mybatis 的xml編寫類名是出現(xiàn)紅名錯(cuò)誤,找不到相關(guān)類的錯(cuò)誤,但是編譯正常:

錯(cuò)誤解決
@Alias是MyBatis注解之一,它可以為MyBatis映射文件中的別名做簡(jiǎn)化。在MyBatis映射文件中,如果定義了一個(gè)別名,我們可以使用@Alias注解來(lái)簡(jiǎn)寫這個(gè)別名,提高代碼的可讀性和可維護(hù)性。
在model類的具體包增加 @Alias(“SerCompanyVO”) 注解。就是把自己的類名寫在雙引號(hào)中。具體如下:

上面的代碼中,我們?yōu)閁serEntity定義了一個(gè)別名SerCompanyVO,這樣在映射文件中引用SerCompanyVO時(shí),就可以直接使用SerCompanyVO來(lái)代替完整的類名了。
驗(yàn)證
增加注解后,可以看見xml中的別名可以通過(guò)點(diǎn)擊跳轉(zhuǎn)了。爆紅錯(cuò)誤,順利解決。

源碼
package com.study.model;
import org.apache.ibatis.type.Alias;
import java.util.List;
@Alias("SerCompanyVO")
public class SerCompanyVO {
private int companyId;
private String companyName;
private String companyCode;
private String companyMsg;
private String companyCrdt;
private List<SerCompanyTagVO> list;
private SerCompanyTagVO serCompanyTagVO;
public int getCompanyId() {
return companyId;
}
public void setCompanyId(int companyId) {
this.companyId = companyId;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getCompanyCode() {
return companyCode;
}
public void setCompanyCode(String companyCode) {
this.companyCode = companyCode;
}
public String getCompanyMsg() {
return companyMsg;
}
public void setCompanyMsg(String companyMsg) {
this.companyMsg = companyMsg;
}
public String getCompanyCrdt() {
return companyCrdt;
}
public void setCompanyCrdt(String companyCrdt) {
this.companyCrdt = companyCrdt;
}
public List<SerCompanyTagVO> getList() {
return list;
}
public void setList(List<SerCompanyTagVO> list) {
this.list = list;
}
public SerCompanyTagVO getSerCompanyTagVO() {
return serCompanyTagVO;
}
public void setSerCompanyTagVO(SerCompanyTagVO serCompanyTagVO) {
this.serCompanyTagVO = serCompanyTagVO;
}
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中負(fù)數(shù)的絕對(duì)值竟然不一定是正數(shù)
這篇文章主要介紹了Java中負(fù)數(shù)的絕對(duì)值竟然不一定是正數(shù),文中給大家提到Java 中怎么把負(fù)數(shù)轉(zhuǎn)換為正數(shù),需要的朋友可以參考下2021-07-07
Java @PostMapping和@GetMapping方法使用詳解
這篇文章主要介紹了Java @PostMapping和@GetMapping方法使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-03-03
Java Mybatis架構(gòu)設(shè)計(jì)深入了解
在本篇文章里小編給大家整理的是一篇關(guān)于Java Mybatis架構(gòu)設(shè)計(jì)詳解內(nèi)容,對(duì)此有興趣的朋友們可以參考下,希望能夠給你帶來(lái)幫助2021-11-11
java基礎(chǔ)篇之Date類型最常用的時(shí)間計(jì)算(相當(dāng)全面)
這篇文章主要給大家介紹了關(guān)于java基礎(chǔ)篇之Date類型最常用的時(shí)間計(jì)算的相關(guān)資料,Java中的Date類是用來(lái)表示日期和時(shí)間的類,它提供了一些常用的方法來(lái)處理日期和時(shí)間的操作,需要的朋友可以參考下2023-12-12
Spring下Filter過(guò)濾器配置全局異常處理的詳細(xì)步驟
這篇文章主要介紹了Spring下Filter過(guò)濾器配置全局異常處理的詳細(xì)步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
JVM入門之類加載與字節(jié)碼技術(shù)(類加載與類的加載器)
Java字節(jié)碼增強(qiáng)指的是在Java字節(jié)碼生成之后,對(duì)其進(jìn)行修改,增強(qiáng)其功能,這種方式相當(dāng)于對(duì)應(yīng)用程序的二進(jìn)制文件進(jìn)行修改。Java字節(jié)碼增強(qiáng)主要是為了減少冗余代碼,提高性能等2021-06-06
intelij?idea?2023創(chuàng)建java?web項(xiàng)目的完整步驟
這篇文章主要給大家介紹了關(guān)于intelij?idea?2023創(chuàng)建java?web項(xiàng)目的完整步驟,該教學(xué)主要針對(duì)各位剛剛接觸javaweb開發(fā)的小伙伴,各位學(xué)習(xí)java的朋友也難免會(huì)經(jīng)歷這個(gè)階段,需要的朋友可以參考下2023-10-10
詳解SpringBoot定制@ResponseBody注解返回的Json格式
這篇文章主要介紹了詳解SpringBoot定制@ResponseBody注解返回的Json格式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Springboot根據(jù)配置文件動(dòng)態(tài)注入接口實(shí)現(xiàn)類詳解
這篇文章主要介紹了Springboot根據(jù)配置文件動(dòng)態(tài)注入接口實(shí)現(xiàn)類詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,需要的朋友可以參考下,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10

