DepartmentMapper.xml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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="com.sf.mapper.DepartmentMapper">
  6. <select id="getDepartmentInfo" parameterType="integer" resultType="department">
  7. select * from department where dept_id = #{deptId}
  8. </select>
  9. <!-- getDepartmentInfoWithEmploye方法中的 map1 对应我们<resultMap>标签中的 id属性 type 映射结果的全类名
  10. column:对应我们数据库中的字段 property:对应我们java对象中的属性名
  11. <id>:映射字段中的id属性
  12. <result>:映射字段中的非id属性
  13. collection:一对多映射标签
  14. ofType="employee" :一对多的属性名的类型的全类名
  15. -->
  16. <resultMap id="map1" type="com.sf.entity.Department">
  17. <id column="dept_id" property="deptId"></id>
  18. <result column="dept_name" property="deptName"></result>
  19. <collection property="employees" ofType="employee">
  20. <id column="emp_id" property="empId"></id>
  21. <result column="emp_name" property="empName"></result>
  22. <result column="salary" property="salary"></result>
  23. </collection>
  24. </resultMap>
  25. <select id="getDepartmentInfoWithEmployee" parameterType="integer" resultMap="map1">
  26. select * from department t1 , employee t2 where t1.dept_id = t2.dept_id and t1.dept_id = #{deptId}
  27. </select>
  28. <!--
  29. <collection>标签中的 column="dept_id" : 我们关联表的外键
  30. select : 是查询员工信息的接口
  31. -->
  32. <resultMap id="deptMap2" type="department">
  33. <id column="dept_id" property="deptId"></id>
  34. <result column="dept_name" property="deptName"></result>
  35. <collection property="employees" ofType="employee" column="dept_id" select="com.sf.mapper.DepartmentMapper.getEmployeeInfoByDeptId">
  36. <id column="emp_id" property="empId"></id>
  37. <result column="emp_name" property="empName"></result>
  38. <result column="salary" property="salary"></result>
  39. </collection>
  40. </resultMap>
  41. <!-- 分为俩步骤:
  42. 1.根据dept_id查询部门信息
  43. 2.根据的dept_id查询员工的信息
  44. -->
  45. <select id="getDepartmentInfoWithEmployee2" parameterType="integer" resultMap="deptMap2">
  46. select * from department where dept_id = #{deptId}
  47. </select>
  48. <select id="getEmployeeInfoByDeptId" parameterType="integer" resultType="employee">
  49. select * from employee where dept_id = #{deptId}
  50. </select>
  51. </mapper>