连接emp和dept表的resultMap如下:
<resultMap id="empdept" type="com.by.entity.Emp">
// resultMap id="empdept" ‘id’相当于新表的名称可以随意取名
<id property="empno" column="empno" javaType="java.lang.Integer"/>
// 此处的id property=“emp表的主键”
<result property="ename" column="ename"/>
<association property="dept" column="deptno" javaType="com.by.entity.Dept">
<id property="deptno" column="deptno"/>
// 此处的id property=“emp表的主键”
<result property="dname" column="dname"/>
<result property="loc" column="loc"/>
</association>
</resultMap>
具体的使用如下:
<select id="getEmpBySalAndDept" parameterType="com.by.entity.Emp" resultMap="empdept">
//此处resultMap=“empdept” 要与上面resultMap id="empdept" 对应
select * from emp e inner join dept d on e.deptno=d.deptno
<where>
<if test="sal"> //test=“” 中不能使用#{}
sal>#{sal}
</if>
<if test="dept!=null and dept.deptno">
and e.deptno=#{dept.deptno}
//多条件时,除第一个if之外后面的都要加and
</if>
</where>
</select>