码迷,mamicode.com
首页 > 其他好文 > 详细

Mybatis 一对一 多对一

时间:2017-09-21 23:27:17      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:定义   time   selectall   res   封装   查询   mybatis   ddr   --   

 <!-- <resultMap type="employee" id="emplist">
       <id property="ids" column="IDS"/>
       <result property="ename" column="ENAME"/>
       <result property="esex" column="ESEX"/>
       <result property="birthday" column="BIRTHDAY"/>
       <result property="address" column="ADDRESS"/>
       <result property="dept.id" column="ID"/>
       <result property="dept.dname" column="DNAME"/>
       <result property="dept.createtime" column="CREATETIME"/>
     </resultMap> -->

  这个是级联查询  一次性把两个表的内容都累出来

<!--<resultMap type="employee" id="emplist">
       <id property="ids" column="IDS"/>
       <result property="ename" column="ENAME"/>
       <result property="esex" column="ESEX"/>
       <result property="birthday" column="BIRTHDAY"/>
       <result property="address" column="ADDRESS"/>
       <association property="dept" resultMap="deptlist"></association>   
     </resultMap>
     <resultMap type="dept" id="deptlist">
        <result property="id" column="ID"/>
       <result property="dname" column="DNAME"/>
       <result property="createtime" column="CREATETIME"/>
     </resultMap> -->

  

 <!--  <resultMap type="employee" id="emplists">
       <association property="dept" column="deptid" select="mapper.DeptMapper.selectDept"></association>
     </resultMap>
     <select id="selectAllEmployee" resultMap="emplists" >
         SELECT * FROM EMPLOYEE E JOIN DEPT D ON E.DEPTID=D.ID 
     </select> -->



  <resultMap type="employee" id="myemp">
        <id column="ids" property="ids"/>
        <result column="ename" property="ename" />
        <result column="esex" property="esex" />
        <result column="birthday" property="birthday"/>
        <result column="address" property="address"/>
        <association property="dept" column="deptid" select="mapper.DeptMapper.selectDept"></association>
     </resultMap>
     
     <select id="selectEmployee" resultMap="myemp">
       select * from employee e where e.ids=#{id}
     </select>

  这两个都是分布查询   多对一也是这样的  只是association 换成collection

 <resultMap type="dept" id="mydept">
       <id property="id" column="id"/>
       <result property="dname" column="dname"/>
       <result property="createtime" column="createtime"/>
       <collection property="list" column="id" select="mapper.EmployeeMapper.selectOneEmployee"></collection>
    </resultMap>
    <select id="selectOneDept" parameterType="Integer"  resultMap="mydept">
        select * from dept d where d.id=#{id}
    </select>

  多对一查询

 

联合查询一般用分布查询  resultmap标签中 type类型就是想要查询的类型  id随便写 是resultmap的唯一标识,collection标签中 property 属性指定的是联合查询的是哪个 column传入的指定的值 工select查询

 

resultmap 是制定封装规则  所以定义哪个对象的封装规则 那么 这个标签的type属性就写哪个

Mybatis 一对一 多对一

标签:定义   time   selectall   res   封装   查询   mybatis   ddr   --   

原文地址:http://www.cnblogs.com/gaofangquan/p/7571751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!