typeAliases翻译成中文是“类型别名”。
为什么要配置别名:减少在XML配置文件中硬编码的全限定类名的复杂性和长度,可以在映射文件中使用别名来代替完整的类名,提高可读性与简洁性。
在MyBatis框架中,typeAliases 配置元素用于定义Java类型的简短别名。
mybatis配置别名的方式有三种:
手动为单个类定义别名、自动扫描包内所有类生成别名、使用注解自定义别名。
XML配置文件中定义单个别名: 在MyBatis的全局配置文件mybatis-config.xml中,可以使用<typeAlias>标签为某个Java类定义一个别名。例如:
<typeAliases>
<typeAlias alias="User" type="com.example.model.User"/>
</typeAliases>
这样,在映射文件中就可以用User代替全限定类名com.example.model.User。
批量设置包扫描别名: 可以通过指定一个包名,让MyBatis自动扫描该包下的所有类,并根据类名生成小写的别名。
<typeAliases>
<package name="com.example.model"/>
</typeAliases>
此时,如果包com.example.model下有一个名为User的类,那么别名就会是user。
注解方式: 类上使用@Alias注解来声明别名:
package com.example.model;
import org.apache.ibatis.type.Alias;
@Alias("CustomUser")
public class User {
// ...
}
之后无需在XML配置中额外配置,MyBatis会识别注解并使用CustomUser作为User类的别名。