highlight: a11y-dark
类型别名就是为Java
类型设置一个短的名字。 它只和XML
配置有关,存在的意义仅在于用来减少类完全限定名的冗余。也就是说在SQL
映射文件中涉及到写返回Java
类型的地方,只需要写Java
类的别名即可,不需要写Java
类的完全限定名称了。
1. 别名配置
1.1. 普通 Spring 项目配置
在mybatis-config.xml
中进行别名配置。
可以直接指定实体类:
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="Blog" type="domain.blog.Blog"/>
<typeAlias alias="Comment" type="domain.blog.Comment"/>
<typeAlias alias="Post" type="domain.blog.Post"/>
<typeAlias alias="Section" type="domain.blog.Section"/>
<typeAlias alias="Tag" type="domain.blog.Tag"/>
</typeAliases>
当这样配置时,alias
指定的是别名,如果没写该属性,则默认为类名首字母小写。
也可以指定包名:
只指定一个包名,这样MyBatis
就会在该包名下面搜索需要的Java Bean
。
<typeAliases>
<package name="domain.blog"/>
</typeAliases>
当这样配置时,每一个在包domain.blog
下的JavaBean
,在没有使用@Alias
注解的情况下,会默认使用类名首字母小写来作为它的别名。
比如domain.blog.Author
的别名为author
;若有注解,则别名为其注解值。比如下面的注解表示domain.blog.Author
的别名为myAuthor
。
@Alias("myAuthor")
public class Author {
...
}
1.2. SpringBoot 项目配置
在application.properties
或者application.yml
文件中进行配置。
mybatis.type-aliases-package=cn.udesk.kun.model
MyBatis
扫描指定包下的Java Bean
,可以和注解@Alias
一起使用。
2. 常见类型别名
这是一些为常见的Java
类型内建的相应的类型别名。它们都是不区分大小写的,注意对基本类型名称重复采取的特殊命名风格。这个一般用于parameterType
、resultType
、javaType
、ofType
属性。
_byte
byte
byte
Byte
_long
long
long
Long
_short
short
short
Short
_int
int
int
Integer
_integer
int
integer
Integer
_double
double
double
Double
_float
float
float
Float
_boolean
boolean
boolean
Boolean
string
String
date
Date
decimal
BigDecimal
bigdecimal
BigDecimal
object
Object
map
Map
hashmap
HashMap
list
List
arraylist
ArrayList
collection
Collection
iterator
Iterator