0%

9.2 深入Mybatis配置文件 9.2.4 typeAliases标签

9.2 深入Mybatis配置文件 9.2.4 typeAliases标签

类型别名用来减少类完全限定名的冗余,可以为Java类型设置的一个短的名字。它只和XML配置有关

实例 为类的完全限定名取别名

org.fkit.domain.User类设置别名为:user,当这样配置时,user可以用在任何使用org.fkit. domain.User的地方。
mybatis-config.xml中的相关配置如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- XML 配置文件包含对 MyBatis 系统的核心设置 -->
<configuration>
......
<!-- 设置类别名 -->
<typeAliases>
<typeAlias
alias="user"
type="org.fkit.domain.User"/>
</typeAliases>
......
</configuration>

实例 给一个包下的类批量取别名

1
2
3
<typeAliases>
<package name="org.fkit.domain"/>
</typeAliases>

每一个在包org.fkit.domain中的JavaBean,在没有注解的情况下,会使用Bean的首字母小写的非限定类名来作为它的别名。比如org.fkit.domain.User的别名为user;若有注解,则别名为其注解值。

1
2
3
4
@Alias("user")
public class User{
...
}

MyBatis默认别名

MyBatis已经为许多常见的Java类型内建了相应的类型别名(见表9.2)。它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。

  • 引用类型都是其类名的全小写形式
    • 基本数据类型对应的包装类型的别名是基本类型的名称,例如Integer的别名为int,Double的别名为double,ArrayList的别名是arraylist
  • 需要注意的是基本数据类型,为了避免和包装类型重名,基本类型的别名前面多了一个下划线,也就是基本数据类型的别名是:下划线基本类型名,例如int类型的别名为_int,double的别名为_double

表9.2 MyBatis默认别名

别名 映射的类型
_byte byte
_short short
_int int
_long long
_float float
_double double
byte Byte
short Short
int Integer
long Long
float Float
double Double
string String
date Date
bigdecimal BigDecimal
object Object
map Map
hashmap HashMap
list List
arraylist ArrayList
collection Collection
iterator Iterator

原文链接: 9.2 深入Mybatis配置文件 9.2.4 typeAliases标签