mybatis之多表查询

准备两张表

多对一第一种

sql语句

<!-- 多表查询 设置一个resultMap 来映射   /-->

 测试代码

第二种多表查询

使用association语句

接口

mapper

测试

 

 第三种association 的高级用法

对多表查询进行分割 变成单表查询来提高效率

第一步写第一个表的查询根据id

   //多表查询association 分解成单标查询 先查询Employee的全部数据 然后再通过deptId 来查询部门表
    Employee selectSingleTable(int id);

根据查询出来的全部数据得到另一张表的id作为另一张表的条件

 

注意细节  这里需要引入新加的mapper



一对多查询 使用

collection关键字

一个部门包含多个员工信息

部门表

@Data@AllArgsConstructor@NoArgsConstructor
public class Dept {
    private int deptId;
    private String deptName;
    List<Employee> employeeList;
}

学生表

@Data@AllArgsConstructor@NoArgsConstructor
public class Employee {
    private Integer id;
    private String lastName;
    private String email;
    private Double salary;

}

sql语句

SELECT *
FROM tbl_dept d INNER JOIN tbl_employee e
on d.dept_id=e.dept_id
WHERE d.dept_id=1

 测试

 


版权声明:本文为m0_46570170原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。