【Mybatis】深入浅出Mybatis(七)——别名使用

本文介绍MyBatis中的别名使用方法,包括MyBatis预定义的别名及如何自定义别名。通过使用别名,可以简化SQL映射文件中的类型声明,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

      前一篇博客中向大家介绍了mapper代理方法的使用,这个是我们开发的一个基础,这里小编向大家带来可以让程序员减少工作量的东西——别名,我们可以自己定义别名,也可以使用系统自带的别名,非常方便。

二、Mybatis支持的别名

2.1 Mybatis定义的别名

      在我们的java中已经自己定义了一些常用的数据类型,比如int,long,string等,所以在Mybatis中已经自己嵌入了这些的别名,我们只需要使用的时候来查询一下就可以很好的使用了。

别名映射的类型
_bytebyte
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
stringString
byteByte
longLong
shortShort
intInteger
integerInteger
doubleDouble
floatFloat
booleanBoolean
dateDate
decimalBigDecimal
bigdecimalBigDecimal

2.2 举例

      比如在UserMapper.xml文件中,以下定义的两个select语句,他们的运行结果是相同的,都没有错误,因为java.lang.String可以默认用别名string代替:

    <!-- 根据用户名,查询用户列表,支持模糊查询 -->
    <select id="findUserByUsername" parameterType="string"
        resultType="cn.itcast.mybatis.po.User">
        select * from user where username like '%${value}%'
    </select>
    <!-- 根据用户名,查询用户列表,支持模糊查询 -->
    <select id="findUserByUsername" parameterType="java.lang.String"
        resultType="cn.itcast.mybatis.po.User">
        select * from user where username like '%${value}%'
    </select>

三、自定义别名

      自定义别名需要我们在SqlMapConfig.xml全局配置文件中进行配置。

      在SqlMapConfig.xml配置文件中,有一个typeAliases属性,这个属性就是配置别名所用到的。在这个标签下可以配置单个别名,也可以批量定义别名,批量定义的时候会扫描整个包下的类,别名为包下的类的名字(大小写都可以),比如我在cn.itcast.mybatis.po包下有一个类,叫做AresKing.java
,当我定义批量别名的时候,这个类的别名就可以叫做AresKing或者aresKing。

<typeAliases>
    <!-- 单个别名定义 -->
    <typeAlias alias="user" type="cn.itcast.mybatis.po.User"/>
    <!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
    <package name="cn.itcast.mybatis.po"/>
    <package name="其它包"/>
</typeAliases>

四、小结

      别名最初是在数据库中接触到的,后来发现在任何有计算机的地方都可以用别名来代替一些东西,这样就方便,有好用,程序员可以减少很多的工作量,效果也很棒。

      下一篇博客向大家带来“深入浅出Mybatis(八)——动态SQL”;

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你个佬六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值