一对多,是最常见的一种设计。就是 A 表的一条记录,对应 B 表的多条记录,且 A 的主键作为 B 表的外键。这主要看以哪张表为中心,下面的测试数据中,从employee 表来看,一个员工对应一个部门,是一对一关系,如果从部门角度来看,则是一对多的关系,一个部门对应多个员工,本节主要研究一对多的关系。
查询部门的时候将部门对应的所有员工信息也查询出来
数据表建立
新建数据表department,有两个字段,插入两条数据如下:
id
dept_name
1
CIA
2
FSB
新建数据表employee,有三个字段,其中dept_id是外键,关联department表的主键id。插入数据如下:
id
last_name
dept_id
1
Tom
1
2
Jerry
2
3
Neo
1
4
Cypher
2
新建maven工程,添加依赖,主要是mybatis和mysql
org.mybatis
mybatis
3.4.6
mysql
mysql-connector-java
5.1.47
编写数据库表对应的实体。
对于department表,对应实体如下:注意增加一个包含了Employee集合。
packagecom.yefengyu.mybatis.entity;importjava.util.List;public classDepartment
{privateInteger id;privateString deptName;private Listemployees;publicInteger getId()
{returnid;
}public voidsetId(Integer id)
{this.id =id;
}publicString getDeptName()
{returndeptName;
}public voidsetDeptName(String deptName)
{this.deptName =deptName;
}public ListgetEmployees()
{returnemployees;
}public void setEmployees(Listemployees)
{this.employees =employees;
}
@OverridepublicString toString()
{return "Department{" +
"id=" + id +
", deptName='" &#