一,准备工作
1,数据库表的设计
2,创造数据
2,实体类的创建Dept.java
public class Dept {
private int did;
private String dname;
private String dremark;
public Dept() {
}
public Dept(int did, String dname, String dremark) {
super();
this.did = did;
this.dname = dname;
this.dremark = dremark;
}
//get set方法省略
}
3,Emp.java的创建
public class Emp {
private Integer eid;
private String ename;
private Integer esex;
private Integer eage;
private Timestamp ehiredate;
private Double esal;
//一个部门下面可以有多少员工
private Dept dept;
public Emp() {
}
public Emp(Integer eid, String ename, Integer esex, Integer eage,
Timestamp ehiredate, Double esal, Dept dept) {
super();
this.eid = eid;
this.ename = ename;
this.esex = esex;
this.eage = eage;
this.ehiredate = ehiredate;
this.esal = esal;
this.dept = dept;
}
二,处理多对一的关系
部门和员工的关系是一对多
员工和部门的关系是多对一
1,员工类的修改
2,实现方法一:使用resultType处理【不推荐】
解决办法就是把两个实体里面的字段组合起来
2.1创建EmpVo把dept的字段加入
2.2EmpMapper.xml的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="empMapper">
<!-- 查询所有员工 -->
<select id="selectEmp" resultType="com.sxt.vo.EmpVo">
select * from emp join dept using(did)
</select>
</mapper>
3,实现方法二:使用resultMap的结果嵌套处理
3.1 、EmpMapper.xml的配置
4,实现方法三:使用resultMap的查询嵌套处理
三,处理一对多的关系
部门和员工是一对多的关系
1,使用resultType来实现【同上面的多对一】
2,使用resultMap来实现
2.1修改Dept.java
2.2、修改DeptMapper.xml