一、前言
前一篇博客中向大家介绍了mapper代理方法的使用,这个是我们开发的一个基础,这里小编向大家带来可以让程序员减少工作量的东西——别名,我们可以自己定义别名,也可以使用系统自带的别名,非常方便。
二、Mybatis支持的别名
2.1 Mybatis定义的别名
在我们的java中已经自己定义了一些常用的数据类型,比如int,long,string等,所以在Mybatis中已经自己嵌入了这些的别名,我们只需要使用的时候来查询一下就可以很好的使用了。
| 别名 | 映射的类型 |
|---|---|
| _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 |
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>
四、小结
别名最初是在数据库中接触到的,后来发现在任何有计算机的地方都可以用别名来代替一些东西,这样就方便,有好用,程序员可以减少很多的工作量,效果也很棒。
摘自:https://blog.csdn.net/kisscatforever/article/details/60882769