9.2.4 typeAliases标签
9.2 深入Mybatis配置文件 9.2.4 typeAliases标签
MyBatis的配置文件包含了影响MyBatis行为的信息。文档的结构如下:
- 顶层configuration配置
- properties属性
- settings设置
- typeAliases类型命名
- typeHandlers类型处理器
- objectFactory对象工厂
- plugins插件
- environments环境
- environment环境变量
- transactionManager事务管理器
- dataSource数据源
- databaseldProvider数据库厂商标识
- mappers映射器
类型别名的作用
类型别名用来减少类完全限定名的冗余,可以为Java类型设置的一个短的名字。它只和XML配置有关。存在的意义仅在于用来减少类完全限定名的冗余。
实例 为类的完全限定名取别名
mybatis-config.xml中的配置如下所示:
1 |
|
为org.fkit.domain.User类设置别名为user。当在MyBatis配置文件中这样配置后,在其他Mappper XML配置文件中,任何使用org.fkit.domain.User的地方,就可以使用user替代。
在其他MyBatis的xml中使用别名
在UserMapper.xml文件中使用user来替代全限定名org.fkit.domain.User
1 |
|
实例 给一个包下的类批量取别名
1 | <typeAliases> |
每一个在包org.fkit.domain中的JavaBean,在没有注解的情况下,会使用Bean的首字母小写的非限定类名来作为它的别名。比如org.fkit.domain.User的别名为user;若有注解,则别名为其注解值。
1 |
|
MyBatis默认别名
MyBatis已经为许多常见的Java类型内建了相应的类型别名(见表9.2)。它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。
引用类型都是其类名的全小写形式
基本数据类型对应的包装类型的别名是基本类型的名称,例如Integer的别名为int,Double的别名为double,ArrayList的别名是arraylist
| 包装类型的别名 | 映射的类型 |
|---|---|
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 |
基本类型前面多一个下划线
需要注意的是基本数据类型,为了避免和包装类型的别名重名,基本类型的别名前面多了一个下划线,也就是基本数据类型的别名是:下划线基本类型名,例如int类型的别名为_int,double的别名为_double
| 基本类型的别名 | 映射的类型 |
|---|---|
_byte |
byte |
_short |
short |
_int |
int |
_long |
long |
_float |
float |
_double |
double |