MyBatis之java类的别名

MyBatis之java类的别名

在 MyBatis 的 xml 配置文件中,为了减少Java类的全限定名的书写冗余,我们可以给类取别名,具体做法是在 MyBatis 的核心配置文件中的configuration标签中添加typeAliases标签

例如这样:

<typeAliases>
    <typeAlias type="org.example.pojo.User" alias="User"/>
</typeAliases>

如此,在原先需要使用 org.example.pojo.User 的地方,现在就可以直接书写为User,例如:

原先需要这样写的

<select id="getUserList" resultType="org.example.pojo.User">
    select * from user;
</select>

现在只需要这样写

<select id="getUserList" resultType="User">
    select * from user;
</select>

除了给单独的 Java 类取别名,也可以指定包名,这样在 xml 配置文件中使用指定包名下的 Java 类时就不必再写全限定名了,具体的做法是在typeAliases标签下添加package子标签,就像这样:

<typeAliases>
    <package name="org.realzs.pojo"/>
</typeAliases>

官方文档中指出,对于指定包名下的 Java 类,MyBatis 默认使用首字母小写的非限定名作为其别名,虽然这么说,但实际测试告诉我们:MyBatis 对别名的大小写并不敏感。

如果你不想使用默认的别名,也可以自定义,具体做法是给指定包名下的要自定义别名的 Java 类添加注解,就像这样:

@Alias("User")
public class User {
    
}

end

参考资料:

[1] 狂神说Java.Mybatis最新完整教程IDEA版通俗易懂.bilibili,2019-10-02:https://www.bilibili.com/video/BV1NE411Q7Nx?p=7

[2] mybatis,2021-04-26:https://mybatis.org/mybatis-3/zh/configuration.html#typeAliases

posted @ 2021-09-15 17:37  realzhangsan  阅读(324)  评论(0编辑  收藏  举报