MyBatis_全局配置文件_typeAliases_别名

typeAliases:MyBatis中的别名处理器,可以为我们的java类型起别名
别名可以用到哪里呢?
可以用到EmployeeMapper.xml中的

<select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee">
         select * from tb1_employee where id = #{id}
    </select>

以上的resultType我们就可以用别名代替
mybatis-config.xml中加入以下设置:

<!-- 3、typeAliases:别名处理器:可以为我们的java类型起别名 
            别名不区分大小写
    -->
    <typeAliases>
        <!-- 1、typeAlias:为某个java类型起别名
                type:指定要起别名的类型全类名;默认别名就是类名小写;employee
                alias:指定新的别名
         -->
        <!-- <typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/> -->

        <!-- 2、package:为某个包下的所有类批量起别名 
                name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写),)
        -->
        <package name="com.atguigu.mybatis.bean"/>

        <!-- 3、批量起别名的情况下,使用@Alias注解为某个类型指定新的别名 -->
    </typeAliases>

批量起别名可能也会有不好的地方,比如说我有一个A包,A包下有一个employee类和A包的子包B包,B包中也有一个employee类,这时为A包批量起别名,就会出问题了,因为有两个employee类嘛
这时我们可以到A包下的employee类下加入一个注释

@Alias("emp")
public class Employee {

这样就可以改变默认的别名了,现在别名已经变为emp了,所以我们可以在EmployeeMapper.xml中这样去应用

<select id="getEmpById" resultType="emp">
         select * from tb1_employee where id = #{id}
    </select>

建议还是使用全类名好,起别名的话你要找resultType中别名对应的那个类也是挺麻烦的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值