八、XML配置之类型别名(typeAliases)
类型别名(typeAliases)
类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。例如:
<typeAliases>
<typeAlias alias="User" type="com.zx.pojo.User"/>
</typeAliases>
当这样配置时,Blog 可以用在任何使用 domain.blog.Blog 的地方。
也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,比如:
<typeAliases>
<package name="com.zx.pojo"/>
</typeAliases>
每一个在包 com.zx.pojo 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写(大写也可以,但是推荐小写)的非限定类名来作为它的别名。 比如 com.zx.pojo.User 的别名为 user;若有注解,则别名为其注解值。见下面的例子:
@Alias("user")
public class User {
...
}
typeAlias和package的区别:
- pojo类较多时使用package方式
- typeAlias可以自定义别名,package在xml中无法定义别名,需要通过注解方式进行别名定义
@Alias("user") 和 <package name="com.zx.pojo"/>的优先级:
- 注解 > xml
下面是一些为常见的 Java 类型内建的类型别名。它们都是不区分大小写的,注意,为了应对原始类型的命名重复,采取了特殊的命名风格。
规律:基本类型别名为:基本类型前加下划线(_),包装类别名前包装类名称首字母小写。
| 别名 | 映射的类型 |
|---|---|
| _byte | byte |
| _char (since 3.5.10) | char |
| _character (since 3.5.10) | char |
| _long | long |
| _short | short |
| _int | int |
| _integer | int |
| _double | double |
| _float | float |
| _boolean | boolean |
| string | String |
| byte | Byte |
| char (since 3.5.10) | Character |
| character (since 3.5.10) | Character |
| long | Long |
| short | Short |
| int | Integer |
| integer | Integer |
| double | Double |
| float | Float |
| boolean | Boolean |
| date | Date |
| decimal | BigDecimal |
| bigdecimal | BigDecimal |
| biginteger | BigInteger |
| object | Object |
| date[] | Date[] |
| decimal[] | BigDecimal[] |
| bigdecimal[] | BigDecimal[] |
| biginteger[] | BigInteger[] |
| object[] | Object[] |
| map | Map |
| hashmap | HashMap |
| list | List |
| arraylist | ArrayList |
| collection | Collection |
| iterator | Iterator |

浙公网安备 33010602011771号