MyBatis ((一对多与多对相同部署)实现持久化操作 之二)

流动:  此文中的实业类还是沿用上同样章节的Emp和Dept两独八九不离十

 

要老样子,不过细说 直接上代码

01.当emp.xml中 
配置以及Dept的基本上对平的连带信息

 

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <!DOCTYPE mapper
 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <mapper namespace="cn.happy.dao.EmpDao">
 6     <resultMap id="empMap" type="cn.happy.entity.Emp">
 7         <id property="empId" column="empNo"/>
 8         <result property="empName" column="ENAME"/>
 9         <result property="job"/>
10         <result property="mgr"/>
11         <result property="hiredate"/>
12         <result property="sal"/>
13         <result property="comm"/>
14         <association property="dept" javaType="cn.happy.entity.Dept">
15             <id property="deptNo"/>
16             <result property="deptName" column="DNAME"/>
17             <result property="loc"/>
18         </association>
19     </resultMap>
20     
21     <select id="getAllEmpInfo" resultMap="empMap">
22         select * from Emp e,Dept d where e.deptno=d.deptno
23     </select>

 

动用association关键字关联Dept类  
将dept属性的备字段配置出。

测试 多对一

图片 1

 

02.以Dept.xml中
配置以及Emp之间的一模一样对准大多之涉   

<mapper namespace="cn.happy.dao.DeptDao">
    <resultMap type="Dept" id="deptMap">
        <id property="deptNo" column="deptNo" />
        <result property="deptName" column="DNAME" />
        <!-- 一对多的关系 -->
        <!-- property: 指的是集合属性的值, ofType:指的是集合中元素的类型 -->
        <collection property="emps" ofType="Emp">
            <id property="empId" column="empNo"/>
            <result property="empName" column="ENAME"/>
            <result property="job"/>
            <result property="mgr"/>
            <result property="hiredate"/>
            <result property="sal"/>
            <result property="comm"/>
        </collection>
    </resultMap>
    <sql id="columns">
    
    </sql>
    <!-- 使用ResultMap关联dao的查询    解决级联查询问题   resultMap取值为上面的ResultMap节点配置的id属性值 -->
    <select id="getAllDept" resultMap="deptMap">
        select * from Emp e,Dept d where e.deptno=d.deptno
    </select>

当此由于emps属性是Set<Emp> 
集合类型   所以就应用了collection标签来关联emp属性的字段。

 测试   一对多

图片 2

网站地图xml地图