当前位置: 代码网 > it编程>编程语言>Java > Springboot Mybatis type-aliases-package错误的解决方案

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

2026年02月13日 Java 我要评论
背景最近在练习spring boot 2.7.0整合mybatis 2.1.3时,发现在使用mybatis.type-aliases-package配置后,xml中的别名会出现爆红的现象。错误复现配置

背景

最近在练习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;
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com