联合查询一对多
设计一个方法 根据部门编号deptno 查询部门的信息+所属于当前部门的所有员工信息
设计一个方法查询(所有)部门的信息+所属于当前部门的所有员工信息
DeptDao
package dao;
import domain.Dept;
import domain.Emp;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface DeptDao {
//设计一个方法 根据部门编号deptno 查询部门的信息+所属于当前部门的所有员工信息
@Select("select * from dept where deptno = #{deptno}")
@Results(
id = "selectDept",
value = {
@Result(property = "deptno",column = "deptno",id = true),
@Result(property = "dname",column = "dname"),
@Result(property = "loc",column = "loc"),
@Result(property = "empList",column = "deptno",
javaType = List.class,//注意类型是List不是泛型的类型
many = @Many(select = "selectEmpForDept"))
}
)
public Dept selectOne(Integer deptno);
@Select("select * from emp where deptno = #{deptno}")
public Emp selectEmpForDept(Integer deptno);
@Select("select * from dept")
@ResultMap("selectDept")
public List<Dept> selectAll();
}