自定义别名和内置别名
为什么要给实体类起别名?
首先看一下之前的映射文件
<?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 命名空间 -->
<mapper namespace="com.xyj.dao.EmpDao">
<!--select 查询操作 id是唯一的(类似于类中的方法名) 不存在重载 -->
<!--resultType 确定返回的类型 -->
<select id="select" resultType="com.xyj.entity.Emp">
select * from emp
</select>
<select id="selectById" resultType="com.xyj.entity.Emp">
select * from emp where eid=#{eid}
</select>
</mapper>
映射文件中出现了好几次com.xyj.entity.Emp,如果要改包名或者类名的话就需要在很多地方做修改,很麻烦,也很容易改不全最终报错,name有没有其他简单一些的方式呢,那就是给我们的实体类的全路径起别名,每次用到的时候写别名即可,修改的时候也只要修改起别名的地方即可。
在我们的全局配置文件中加入typeAliases标签,注意在配置文件中的位置,如下:
<!-- 配置别名 -->
<typeAliases>
<typeAlias type="com.xyj.entity.Emp" alias="emp"/>
</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">
<!-- MyBatis配置文件 -->
<configuration>
<!-- 配置log4j日志文件 -->