Springboot Mybatis type-aliases-package错误的解决方案

 更新时间:2026年02月13日 11:05:23   作者:y打伞的鱼y  
在使用Spring Boot 2.7.0整合MyBatis 2.1.3时,遇到mybatis.type-aliases-package配置后XML别名爆红的问题,通过在model类上添加@Alias注解,为类定义别名,解决了问题

背景

最近在练习spring boot 2.7.0整合mybatis 2.1.3时,发现在使用mybatis.type-aliases-package配置后,xml中的别名会出现爆红的现象。

错误复现

配置文件中,使用mybatis.type-aliases-package配置类的别名

​在mybatis 的xml编写类名是出现红名错误,找不到相关类的错误,但是编译正常:

错误解决

@Alias是MyBatis注解之一,它可以为MyBatis映射文件中的别名做简化。在MyBatis映射文件中,如果定义了一个别名,我们可以使用@Alias注解来简写这个别名,提高代码的可读性和可维护性。

在model类的具体包增加 @Alias(“SerCompanyVO”) 注解。就是把自己的类名写在双引号中。具体如下:

上面的代码中,我们为UserEntity定义了一个别名SerCompanyVO,这样在映射文件中引用SerCompanyVO时,就可以直接使用SerCompanyVO来代替完整的类名了。

验证

增加注解后,可以看见xml中的别名可以通过点击跳转了。爆红错误,顺利解决。

源码

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解微信开发之access_token之坑

    详解微信开发之access_token之坑

    access_token分类一是普通access_token,二是网页授权access_token。这篇文章主要介绍了详解微信开发之access_token之坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 详解Java异常处理的使用与思考

    详解Java异常处理的使用与思考

    异常处理的概念起源于早期的编程语言,如 LISP、PL/I 和 CLU。这些编程语言首次引入了异常处理机制,以便在程序执行过程中检测和处理错误情况。本文主要来介绍一下Java中的异常处理,需要的可以参考一下
    2023-04-04
  • Java编程使用Runtime和Process类运行外部程序的方法

    Java编程使用Runtime和Process类运行外部程序的方法

    这篇文章主要介绍了Java编程使用Runtime和Process类运行外部程序的方法,结合实例形式分析了java使用Runtime.getRuntime().exec()方法运行外部程序的常见情况与操作技巧,需要的朋友可以参考下
    2017-08-08
  • Spring Boot异步输出Logback日志方法详解

    Spring Boot异步输出Logback日志方法详解

    这篇文章主要给大家介绍了关于Spring Boot异步输出Logback日志的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Java定时器Timer使用方法详解

    Java定时器Timer使用方法详解

    这篇文章主要为大家详细介绍了Java定时器Timer的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java实现多线程中的静态代理模式

    Java实现多线程中的静态代理模式

    静态代理属于设计模式中的代理模式。这篇文章主要介绍了Java实现多线程中的静态代理模式,详细的介绍了静态代理的使用,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • spring-retry组件的使用教程

    spring-retry组件的使用教程

    Spring Retry的主要目的是为了提高系统的可靠性和容错性,当方法调用失败时,Spring Retry可以在不影响系统性能的情况下,自动进行重试,从而减少故障对系统的影响,这篇文章主要介绍了spring-retry组件的使用,需要的朋友可以参考下
    2023-06-06
  • Java并发问题之乐观锁与悲观锁

    Java并发问题之乐观锁与悲观锁

    这篇文章主要介绍了Java并发问题之乐观锁与悲观锁,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • SpringCloud服务接口调用OpenFeign及使用详解

    SpringCloud服务接口调用OpenFeign及使用详解

    这篇文章主要介绍了SpringCloud服务接口调用——OpenFeign,在学习Ribbon时,服务间调用使用的是RestTemplate+Ribbon实现,而Feign在此基础上继续进行了封装,使服务间调用变得更加方便,需要的朋友可以参考下
    2023-04-04
  • 后端返回各种图片形式在前端的转换及展示方法对比

    后端返回各种图片形式在前端的转换及展示方法对比

    这篇文章主要给大家介绍了关于后端返回各种图片形式在前端的转换及展示方法对比的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06

最新评论