通常,我们在xml映射文件中,的返回值类型都是写全类名,但是全类名太长,这时候,我们就可以通过起别名的方式来进行简化。
- 在mybatis全局配置文件设置Emolyoyee的别名
<typeAliases>
<typeAlias type="com.fzl.mybatis.bean.Employee"></typeAlias>
</typeAliases>
- 修改映射文件中的返回值类型:
<select id="getEmpById" resultType="employee">
select * from tbl_employee where id = #{id}
</select>
- 测试运行。
- 我们可以使用alias指定新的别名.在全局配置文件中,使用alias指定别名。
<typeAliases>
<!-- typeAlias:为某个java类起别名
type:指定要起别名的类型的全类名;默认别名就是类名小写:employee
alias: 指定新的别名
-->
<typeAlias type="com.fzl.mybatis.bean.Employee" alias="emp"></typeAlias>
</typeAliases>
修改映射文件。测试运行
<select id="getEmpById" resultType="emp">
select * from tbl_employee where id = #{id}
</select>
- 上述只能对单个类型进行起别名,我们可以通过package:为某个包下的所有类起别名,其中name属性:指定包名(为当前包以及下面所有后代包的每一个类都起一个默认别名(类名小写))。代码如下
<!-- 3.typeAliases ;别名处理器,可以为我们的java类型起别名,别名不分大小写-->
<typeAliases>
<!-- typeAlias:为某个java类起别名
type:指定要起别名的类型的全类名;默认别名就是类名小写:employee
alias: 指定新的别名
-->
<!-- typeAlias type="com.fzl.mybatis.bean.Employee" alias="emp"></typeAlias>-->
<package name="com.fzl.mybatis.bean"/>
</typeAliases>
- 但是,批量处理别名有一个问题,当后代包中有和当前包类名相同的包时,运行就会报错,这时候我们可以通过@Alias注解来解决。 批量起别名的情况下,使用@Alias注解为某个类型指定新的别名。
@Alias("emp")
public class Employee {
private Integer id;
private String lastName;
private String email;
private String gender;
<select id="getEmpById" resultType="emp">
select * from tbl_employee where id = #{id}
</select>