跳到主要内容

mybatis详解-(16)分步查询及延迟加载

前面文章介绍了都是一个sql语句完成所有的查询操作,包括在执行联合查询的时候也是一个sql语句完成查询,然后将查询结果通过resultMap进行封装。mybatis也提供了分步查询的功能,在完成一个操作之后,将查询的结果使用到第二个三个查询参数中完成所有的查询。具体如何实现,还是结合示例做展示:

分步查询

1)association
使用association实现分步查询操作。

创建实体

Employee和Department

package org.mybatis.resultmap;

public class Employee {


private Integer id;
private String lastName;
private String email;
private String gender;
private Department department;

public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
@Override
public String toString() {
return "Employee [id=" + id + ", lastName=" + lastName + ", email="
+ email + ", gender=" + gender + ", department=" + department
+ "]";
}

}