欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mybatis级联查询返回结果配置

程序员文章站 2022-04-15 22:18:06
...

级联业务场景:
比如用户和部门的关系(暂时定义为1对1关系),
即:在用户表User中有部门Dept表的外键dept_id,因此实体类也相对的
在User类中有Dept对象的属性dept,这里就不一一描述了。
那么级联查询,在查询用户信息的时候就需要把用户所属的部门名称信息也列出来;

具体配置:
级联查询配置属于高级查询,因此用到resultMap;
通常配置级联查询有两种方式;

第一种方式:
可以直接使用属性名称关联查询返回,

如下:

mybatis级联查询返回结果配置

直接使用dept.id及dept.departmentName即可。

第二种方式:
可以使用association配置

mybatis级联查询返回结果配置

在resultMap中通过使用association直接指定相关的部门对象,
其中javaType指向的是部门表Dept的类路径

通过以上两种方式,可以组装配置级联查询的返回结果!

反过来,如果是需要查询部门,那么一个部门可以对应多个用户,

因此在Dept的类中有用户集合属性,List<Employee> userList;

那么查询部门Dept的时候同时把相应的迎合也查询出来放到userList中,则可以通过mybatis的collection配置,

如下:

<resultMap id="resultList" type="com.atguigu.mybatis.bean.Dept" >
  <id column="did" property="did" jdbcType="INTEGER" />
  <result column="dept_name" property="deptName" jdbcType="VARCHAR" />
  <collection property="userList" ofType="com.atguigu.mybatis.bean.Employee" />
</resultMap>