一对多分为单条sq语句l和多条sql语句
下面就以员工和就职部门为例:
部门实体类
private Integer deptno;
private String deptname;
//植入员工实体集合
private List emps=new ArrayList();
public String getDeptname() {
return deptname;
}
public void setDeptname(String deptname) {
this.deptname = deptname;
}
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
public List getEmps() {return emps;}
public void setEmps(List emps) {
this.emps = emps;
}
员工实体类
private Integer empno;
private String empname;
private Integer deptno;
public Integer getEmpno() {return empno;}
public void setEmpno(Integer empno) {
this.empno = empno;
}
public String getEmpname() {
return empname;
}
public void setEmpname(String empname) {
this.empname = empname;
}
public Integer getDeptno() {return deptno;}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
单条sql语句
接口
/**
* 根据部门对象编号,查询部门对象,对象里面包含的员工集合
*一对多,一条sql语句
* @param deptno
* @return
*/
public Dept findEmpByDept(int deptno);
xml文件(小配置)
SELECT dept.deptno,dept.deptname,empname,empno
FROM Dept,Emp
WHERE dept.deptno=emp.deptno AND emp.deptno=#{deptno}
测试类
/**
* 根据部门对象编号,查询部门对象,对象里面包含的员工集合
* 一对多 一条sql语句
*/
@Test
public void findEmpByDept(){
SqlSession session = MyBatisUtil.getSession();
IDeptDAO mapper = session.getMapper(IDeptDAO.class);
Dept dept = mapper.findEmpByDept(1);
System.out.println(dept.getDeptname());
for(Emp item:dept.getEmps()){
System.out.println(item.getEmpname());
}
session.commit();
session.close();
}
多条sql语句
接口
/**
* 根据部门对象编号,查询部门对象,对象里面包含的员工集合
*一对多,多条sql语句
* @param deptno
* @return
*/
public Dept findEmpByDeptManySql(int deptno);
xml文件(小配置)
SELECT *from Emp where deptno=#{deptno}
SELECT * FROM Dept WHERE deptno=#{deptno}
测试类
/**
* 根据部门对象编号,查询部门对象,对象里面包含的员工集合
* 一对多 多条sql语句
*/
@Test
public void findEmpByDeptManySql(){
SqlSession session = MyBatisUtil.getSession();
IDeptDAO mapper = session.getMapper(IDeptDAO.class);
Dept dept = mapper.findEmpByDeptManySql(3);
System.out.println(dept.getDeptname());
for(Emp item:dept.getEmps()){
System.out.println(item.getEmpname());
}
session.commit();
session.close();
}
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[mybatis中的一对多的查询]http://www.zyiz.net/tech/detail-131320.html