Mybatis配置文件(三):typeAliases配置

一般来说,类的全限定名包含包名,显得很长,所以MyBatis使用简写的方式,减少类完全限定名的多余部分。例如:

<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>

使用这个配置,“Blog”可以任意用来替代“domain.blog.Blog”所使用的地方。
对于普通的 Java 类型,有许多内建的类型别名。它们都是大小写不敏感的,由于重载
的名字,要注意原生类型的特殊处理。

1、系统定义别名

常用的系统定义的别名如下表:

别名映射的类型
_bytebyte
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
stringString
byteByte
longLong
shortShort
intInteger
integerInteger
doubleDouble
floatFloat
booleanBoolean
dateDate
decimalBigDecimal
bigdecimalBigDecimal
objectObject
mapMap
hashmapHashMap
listList
arraylistArrayList
collectionCollection
iteratorIterator

2、自定义别名

1、配置文件中的typeAliases属性

<!--别名:pojo对象的别名 -->
    <typeAliases>
        <!--对类单独进行别名设置  -->
        <typeAlias alias="user" type="com.pojo.User"></typeAlias>
        <typeAlias alias="enterprice" type="com.pojo.Enterprice"></typeAlias>
        <!-- 对包进行扫描,可以批量进行别名设置,设置规则是:获取类名称,将其第一个字母变为小写 -->
        <package name="com.daily.pojo"/>
	</typeAliases>

2、通过TypeAliasRegistry的registerAlias方法(给多个包下相同类名设置别名)
这种方式跟与获取系统配置的方式一样,都要获取到TypeAliasRegistry对象,然后用其registerAlias方法进行注册。

  /**
   * 总定义别名
   */
  public static void setTypeAlias() {
      SqlSession sqlSession = getSqlSession();
      TypeAliasRegistry typeAliasRegistry = sqlSession.getConfiguration().getTypeAliasRegistry();
      //代码方式配置别名
      typeAliasRegistry.registerAlias("user1",com.pojo2.User.class);
  }

3、通过注解
在对应包的对应类上面使用@Alias(“别名”)即可:

package com.pojo2;

import org.apache.ibatis.type.Alias;

@Alias("user1")
public class User {
    private Integer id;
    private String userName;
    private String pwd;
}

注意:在自定义别名的时候,记得区分同名类,最好就是不要写重复的类名,避免冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值