mybatis 一对多查询
一、实体类
//一个部门对应多个员工
public class Dept {
private Integer deptid;
private String dname;
private String dloc;
private Set<Emp> emps= new HashSet<>();
}
public class Emp {
private Integer empid;
private String ename;
private String esex;
private Date ehiredate;
private Double esal;
private Dept dept;
}
二、接口方法
public interface DeptMapper {
@Select("select * from dept ")
@Results({@Result(property = "deptid" ,column = "deptid"),
@Result(property = "dname" ,column = "dname"),
@Result(property = "dloc" ,column = "dloc"),
@Result(property = "emps",javaType = Set.class, column = "deptid",
many = @Many(select="com.gx.mapper.EmpMapper.selectEmpByDeptId"))
}) //调用方法的全路径+方法名
public List<Dept> selectAll();
}
public interface EmpMapper {
/**
* 根据部门id查询员工信息
*/
@Select("select * from emp where deptid=#{deptid}")
public List<Emp>selectEmpByDeptId(Integer deptid);
}
本文介绍使用MyBatis实现一对多查询的方法。通过定义部门(Dept)与员工(Emp)两个实体类之间的关联关系,利用Mapper接口中的@Select和@Results注解实现从数据库中查询部门及其下属员工的数据。
3053

被折叠的 条评论
为什么被折叠?



