Mybatis 别名

用途

别名就是完整的类名(即包含完整包名的类名)的一个简写,可以在 mybatis 的 sql 映射文件里用别名来代替完整的类名,简化书写

定义别名

在 mybatis 配置文件里使用 typeAlias 节点来定义别名,示例如下

<typeAliases>
    <typeAlias alias="Menu" type="com.meizu.gameissue.boss.domain.entity.Menu" />
</typeAliases>

另一种方法是定义整个包的所有类的别名

<typeAliases>
    <package name="com.meizu.gameissue.boss.domain.entity"/>
</typeAliases>

mybatis 会扫描包下的所有类(不包括内部类和接口),并为每个类设定一个别名

  • 如果该类使用了@Alias注解,那么用注解值作为别名

  • 没有使用注解,用这个类的类名(首字母小写)作为别名

  • 如果用 typeAlias 定义了别名,@Alias注解定义了一个不同的别名?不要问我,我不知道。。。

使用别名

在 sql 映射文件里,用别名来代替完整的类名,示例如下

预定义的别名

mybatis 已经预先定义了常用类的别名,我们可以直接使用这些别名而不需要定义,同时也要注意,在定义自己的别名时也不要和这些别名冲突

mybatis 预定义了哪些别名呢?

注意

  • 预定义别名,大小写不敏感

  • 对象类型和原始类型是有区别的,别名不一样

参考文档

Last updated