在我们以前的Mybatis中引用pojo常常用以下方式:
<?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">
<!--namespace:绑定一个对应的Dao/Mapper接口-->
<mapper namespace="com.wst.dao.StuMapper">
<!--select:查询语句-->
<!--查询学生的全部信息-->
<select id="getStuList" resultType="com.wst.pojo.Stu">
select * from stu
</select>
<!--根据学生id查找学生的全部信息-->
<select id="getStuById" resultType="com.wst.pojo.Stu" parameterType="int">
/*定义sql*/
select * from stu where id = #{id};
</select>
<!--插入信息-->
<insert id="addStu" parameterType="com.wst.pojo.Stu">
insert into stu (id,name,age,address) values (#{id},#{name},#{age},#{address});
</insert>
<!--<!–修改信息–>-->
<update id="updateStu" parameterType="com.wst.pojo.Stu">
update stu set name = #{name},age=#{age},address=#{address} where id=#{id} ;
</update>
<!--删除信息-->
<delete id="deleteStu" parameterType="int">
delete from stu where id = #{id};
</delete>
</mapper>
比如在上面的配置中:
我们可以发现返回值的类型是com.wst.pojo.Stu、某些情况下参数类型也是com.wst.pojo.Stu。
如果多次使用到com.wst.pojo.Stu。就感觉十分的麻烦!!!
下面我们就来介绍有没有一种方法能把这些可以简化一下呢?
方法一:就是上面所写的那样。
方法二:使用类型别名(typeAliases)。
类型别名是为 Java 类型设置一个短的名字。 它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。
于是针对上面的例子我们可以这样写:
进行上面的配置后就可以在StuMapper.xml中这样使用它:
方法三:使用指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean。
注:在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。
那么在StuMapper.xml中这样使用它:
官网上要求使用类的类名,首字母小写。使用类名也是可以的。
方法四:使用注解的方式@Alias。
在实体类上面加上注解:
那么在StuMapper.xml中这样使用它:
另外:
在 MyBatis 的初始化过程中,系统自动初始化了一些别名: