MyBatis的级联属性、联合、分步查询

在说级联属性查询之前,先把需要的表和数据创建好。

/创建员工表/
CREATE TABLE tbl_employee(
id int(11) AUTO_INCREMENT PRIMARY KEY,
last_name varchar(25),
gender char(1),
email varchar(255)
);
/
创建部门表/
create table tbl_deptno(
id int(11) primary key auto_increment,
dept_name varchar(255)
);
/在员工表中添加部门id列/
alter table tbl_employee add column dept_id int(11);
/
设置外键/
alter table tbl_employee add constraint fk_emp_dept foreign key(dept_id) references tbl_deptno(id);

员工表数据


image.png

部门表数据


image.png

为两张表分别创建实体类

public class Employee {

private Integer id;
private String last_name;
private String gender;
private String email;
private Deptno deptno;
//get,set方法省略....

}
public class Deptno {

private Integer id;
private String deptName;

//get,set方法省略....
}
现在我们有个需求就是查出某个员工及部门信息。

首先mapper接口中定义方法

public interface EmployeeMapperPlus {
//根据员工id查询
public Employee findEmpAndDept(Integer id);
}
sql映射文件

1、使用级联属性查询










2、使用association(联合)查询













3、分步查询(支持延迟加载)








select="com.luohp.mybatis.dao.DeptnoMapper.findDept" >

你可能感兴趣的:(MyBatis的级联属性、联合、分步查询)