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

使用collection查询集合属性

时间:2018-03-12 15:13:45      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:select   sys   except   .class   使用   row   integer   文件   log   

介绍resultMap中使用collection查询集合属性

业务需求,查询部门中的多个人员

public class Department {

private Integer id;
private String departmentName;
private List<Employee> emps;

setter和getter省略

}

public class Employee {

private Integer id;
private String lastName;
private String email;
private String gender;
private Department dept;

setter和getter省略

}

1。在department接口写方法

public Department getDeptByIdPlus(Integer id);

2.找到映射文件写

<!--嵌套结果集的方式,使用collection标签定义关联的集合类型的属性封装规则 -->
<resultMap type="com.atguigu.mybatis.bean.Department" id="MyDept">
<id column="did" property="id"/>
<result column="dname" property="departmentName"/>
<!--
collection定义关联集合类型的属性的封装规则
ofType:指定集合里面元素的类型
-->

<collection property="emps" ofType="com.atguigu.mybatis.bean.Employee">
<!-- 定义这个集合中元素的封装规则 -->
<id column="eid" property="id"/>
<result column="last_name" property="lastName"/>
<result column="email" property="email"/>
<result column="gender" property="gender"/>
</collection>
</resultMap>
<!-- public Department getDeptByIdPlus(Integer id); -->
<select id="getDeptByIdPlus" resultMap="MyDept">
SELECT d.id did,d.dname dname,
e.id eid,e.last_name last_name,e.email email,e.gender gender
FROM department d
LEFT JOIN tbl_employee e
ON d.id=e.did
WHERE d.id=#{id}
</select>

3进行测试

@Test
public void test06() throws IOException{
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
SqlSession openSession = sqlSessionFactory.openSession();

try{
DepartmentMapper mapper = openSession.getMapper(DepartmentMapper.class);
Department department = mapper.getDeptByIdPlus(1);
System.out.println(department);
System.out.println(department.getEmps());

}finally{
openSession.close();
}
}

}

运行结果如下:

技术分享图片

 

使用collection查询集合属性

标签:select   sys   except   .class   使用   row   integer   文件   log   

原文地址:https://www.cnblogs.com/zhangzhiqin/p/8549031.html

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