Mybatis多表关联查询

1. 执行连接查询语句
1.1 准备工作
    1.1.1 准备两张关联的表:t_emplotee、t_department
        (1) 回顾表关系:
            (1.1) 一对多: 主键表中的一条数据,对应外键表中的多条数据。例如:部门表和员工表
            (1.2) 多对多: 一般会有一张中间表来存储两张表中数据的对应关系。
            (1.3) 一对一: 通常是用在对表进行垂直拆分的时候拆出来的表就是一对一关系
        (2) 回顾关联查询语句:
            (2.1) 内连接查询:
                (2.1.1) 隐式内连接查询: SELECT 要查询的字段 FROM t_emplotee t1,t_department t2 WHERE t1.did=t2.did AND t1.eid=1
                (2.1.2) 显示内连接查询: SELECT 要查询的字段 FROM t_employee t1 INNER JOIN t_department t2 ON t1.did=t2.did WHERE t1.eid=1
            (2.2) 外连接查询:
                (2.2.1) 左外连接查询: SELECT 要查询的字段 FROM t_emplotee t1 LEFT OUTER JOIN t_department t2 ON t1.did=t2.did WHERE t1.eid=1
                (2.2.2) 右外连接查询: SELECT 要查询的字段 FROM t_department t1 RIGHT OUTER JOIN t_employee t2 ON t2.did=t1.did WHERE t2.eid=1
    1.1.2 创建项目
        (1) 引入依赖:mybatis、spring、mybatis-spring、mysql、druid、junit、spring-jdbc、spring-test、lombok
        (2) 创建实体类:
        (3) 创建持久层接口
        
    1.1.3 编写spring的配置文件:拷贝、修改就行
    1.1.4 定目标:
        (1) 根据员工的id查询员工信息,并且连接部门表,查询出该员工所属的部门信息
        (2) 根据部门的id查询部门信息,并且连接员工表,查询出该部门下的所有员工
        
1.2 实现功能
    1.2.1 功能一: 对一查询(一个员工只能对应一个部门)
        (1) 在持久层接口(EmployeeMapper)中编写方法:Employee findEmployeeWithDepartmentByEid(Integer eid);
        (2) 编写映射配置文件
    1.2.2 功能二: 对多查询(一个部门对应多个员工)
        (1) 在持久层接口(DepartmentMapper)中编写方法:Department findDepartmentWithEmploteeListByDid(Integer did);
        (2) 编写映射配置文件

你可能感兴趣的:(mybatis,数据库)