在上一篇中我们映射SQL语句时,可以看到resultType的返回结果集中的的元素的类使用完全限定名,有时候会偏长所以我们可以在配置Mybatis时利用typeAliases元素为自己的类设计别名从而简化:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 为User类取别名 -->
<typeAliases>
<typeAlias type="priv.mybatis.bean.User" alias="User"/>
</typeAliases>
<environments default="default">
<environment>
...
</environment>
</environments>
<mappers>
....
</mappers>
</configuration>
这样我们在SQL映射配置中便可以这样写:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="priv.mybatis.mapper.userMapper">
<select id="selectUser" parameterType="String" resultType="User">
select * from user
</select>
</mapper>
当然typeAliases还可以通过设置包名省略的方式来设置别名,如果以这样的方式的话,那么该包下的类都会以以首字母小写的形式作为别名如User的别名便是user(不过实际操作后可以发现以这样形式命名的话该类的别名不会区分大小写)
<typeAliases>
<package name="priv.mybatis.bean"/>
</typeAliases>
最后还有,Mybatis已经预先为我们设计好了常用java类的别名,不过还是要注意区别基本类型与包装类的不同名。同时这类别名是不区分大小写的。