在我们开发的时候包可能是一级一级的, 会有一些繁琐比如
<select id="getUser" parameterType="int" resultType="cn.paul.User">
select * from users where id=#{id}
</select>
cn.paul.User 三个可能算少了 ,但是可能又cn.paul.xx.xx.User 这就很繁琐了,所以mybatis提供了给实体类定义别名的配置
在之前项目中的config.xml中
<typeAliases>
<typeAlias alias="_User" type="User"/>
</typeAliases>
把User定义别名为_User
定义别名了之后就可以在userMapper.xml中这样做了
<?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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
-->
<mapper namespace="userMapper">
<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
resultType="me.gacl.domain.User"就表示将查询结果封装成一个User类的对象返回
User类就是users表所对应的实体类
-->
<!--
根据id查询得到一个user对象
-->
<select id="getUser" parameterType="int" resultType="_User">
select * from users where id=#{id}
</select>
<select id="getAllUsers" resultType="_User">
select * from users
</select>
</mapper>
typeAliases里面还有一个packpage配置
<package name="cn.paul"></package>
上述作用是将cn.paul包下面的实体类定义为去除包名的类名, 也就是User,
注意: 在给实体类添加别名的时候要注意配置节点的顺序
<?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>
<properties resource="dbinfo.properties"/>
<typeAliases>
<typeAlias alias="_User" type="User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="userMapper.xml" />
<mapper class="userMapperDao"/>
</mappers>
</configuration>
至于为什么要这么放请看官网配置
http://www.mybatis.org/mybatis-3/zh/configuration.html