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 |