一对多时候使用collection集合的嵌套查询
我们知道association关联的嵌套查询这种方式会执行额外的SQL查询,映射配置会简单很多,关于collection的映射配置,结合上一节association的内容,仍然以selectAllUserAndRoles为基础,以两层嵌套结果为目标,将该方法修改为集合嵌套查询方式
下面以自下而上的过程来实现这样一个两层嵌套的功能,并且这个自下而上的过程中的每一个方法都是一个独立可用的方法,最后的结果都是以前一个方法为基础的。把所有对象设置为延迟加载,因此每个方法都可以单独作为一个普通(没有嵌套)的查询存在
首先在PrivilegeMapper.xml文件中添加如下代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="tk.mybatis.simple.mapper.PrivilegeMapper">
<resultMap type="SysPrivilege" id="privilegeMap">
<id property="id" column="id"/>
<result property="privilegeName" column="privilege_name"/>
<result property