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