mybatis为实体类定义别名

在我们开发的时候包可能是一级一级的, 会有一些繁琐比如

<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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,806评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,180评论 19 139
  • 一. Java基础部分.................................................
    wy_sure阅读 3,854评论 0 11
  • 一直存在视线恐惧症问题,近几年,尤其厉害。很害怕碰见人视线,惹出很多心烦事。。2里说得对,因为天生敏感,是天性不同...
    破壳中阅读 1,280评论 2 0
  • 2017年9月14日,日拱一卒,积硅步,精进未来的自己。 100天,33本书,打卡第55天,《罗辑思维》。 先上碗...
    凡尘花仙子阅读 226评论 2 3