这篇文章主要介绍了MyBatis typeAliases元素标签(含注解方式)及其属性、设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
正文
MyBatis typeAliases元素标签(含注解方式)及其属性、设置方式
typeAliases元素标签及其属性、设置
个人建议还是采用全类名的方式,这样可以很轻松的看到该类的所有方法等,比较方便直观;这样不过也有缺点,不利于维护等。
简介
typeAliases:别名处理器,可以为java类型(resultType)起别名。类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。
注意:在不指定别名情况下,别名默认就是类名小写。某些情况下别名不区分大小写。
通过单个定义别名的方式
语法
|
1
2
3
4
5
6
7
8
9
|
<typeAliases><!-- alias:定义的别名 type:指定要起别名的类型全类名 默认别名就是类名小写--> <typeAlias alias="别名" type="指定要起别名的类型全类名"/> </typeAliases> |
例如
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<typeAliases><!-- alias:定义的别名 type:指定要起别名的类型全类名 默认别名就是类名小写--> <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> |
当这样配置时,Blog可以用在任何使用domain.blog.Blog的地方。
通过包扫描的方式
该方式将扫描该包下的所有类,默认为类名的小写。
注意:若该包下面还用子包,并且子包与该包有相同的类名,则需要为其中一个类进行注解,否则将会报错(冲突),因为mybatis不知道是哪个包,必须明确的指明才可以。
语法
|
1
2
3
|
<typeAliases> <package name="包名"/></typeAliases> |
例如
|
1
2
3
|
<typeAliases> <package name="domain.blog"/></typeAliases> |
采用注解的方式
每一个在包 domain.blog 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 比如 domain.blog.Author 的别名为 author;若有注解,则别名为其注解值。
例子:
|
1
2
3
4
|
@Alias("author")public class Author { ...} |
常见的 Java 类型内建的相应的类型别名
它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。
| 别名 | 映射的类型 |
|---|---|
| _byte | byte |
| _long | long |
| _short | short |
| _int | int |
| _integer | int |
| _double | double |
| _float | float |
| _boolean | boolean |
| string | String |
| byte | Byte |
| long | Long |
| short | Short |
| int | Integer |
| integer | Integer |
| double | Double |
| float | Float |
| boolean | Boolean |
| date | Date |
| decimal | BigDecimal |
| bigdecimal | BigDecimal |
| object | Object |
| map | Map |
| hashmap | HashMap |
| list | List |
| arraylist | ArrayList |
| collection | Collection |
| iterator | Iterator |
typeAliases和package标签的用法
|
1
2
3
4
5
6
7
|
<typeAliases> <!--用于指定别名--> <!--<typeAlias type="com.wance.entity.Person" alias="Person"/>--> <!--用于指定注册别名的包,当指定后,该包下的实体类都会注册别名,并且类名就是别名,--> <!--不再区分大小写--> <package name="com.wance.entity"/> </typeAliases> |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持米米素材网。
原文链接:https://hernsong.blog.csdn.net/article/details/88375261

发表评论