自定义别名的两种方式:
一、给类(java文件)取别名
<!--
别名的第一种方式,为Users类取别名
这种方式比较直观,把一个type直接用短名字表示,这个配置是在mybatis的config.xml里面配置的,在mapper.xml使用别名Users就可以了
-->
<typeAliases> <typeAlias type="cn.itsors.domain.Users" alias="Users"/>
</typeAliases>
二.写一个包名
<!-- 别名的第二种方式,只要写一个包名,mybatis就会扫描这个包里的类,在mapper.xml使用包中的类名Users(类名不区分大小写)就可以了 --> <typeAliases> <package name="cn.itsors.domain"/>
</typeAliases>
使用别名:
没有别名时的 resultType为 包名+类名:(cn.itsors.domain.Users)
<!--
resultType:执行这段sql后结果值的类型是Users(result 翻译 结果值)
parameterType:执行这段sql传的参数类型long(long内置别名(下面有内置别名的列表),意思就是参数是Long数据型)
#{id}:就是传的参数。
-->
<select id="selectAllUser" parameterType="long" resultType="cn.itsors.domain.Users">
select * from t_user where id = #{id}
</select>
使用别名时resultType直接用别名:
<!--
注意这里的 resultType 返回值类型是集合内存储数据的类型,不是 'list'
个人理解:最终存储数据的是对象Users,而list是存储Users对象的集合,
所以查询后的结果数据是被User存储的,所以resultType的类型是Users而不是list
详情请看https://blog.csdn.net/codejas/article/details/79520246
-->
<select id="selectAllUser" resultType="Users"> select * from t_user </select>
内置别名:
对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap'
基本数据类型考虑到重复的问题,会在其前面加上 '_',比如 int 对应的别名是 '_int'