这里的一对多指的是:当我们查询一个对象的时候,同时将其有关联的多方对象都查询出来。
下面以国家(Country)和部长(Minsiter)做案例 一个国家有多个部长
1.定义实体
定义实体的时候需要注意,若是双向关联,就是说双方的属性中都含有对方对象作为域属性出现,
那么在写toString()方法时需要注意,只让某一方输出即可,不要让双方的toString()都输出对方,
这样会形成递归调用,程序会出错,报堆栈溢出。
Country实体类
Minsiter 实体类
2.数据库设计
a) country数据库
b) minsiter数据库
3.DAO层设计
4.service层设计
5.impl实现类
6.Controller层
7.最关键的是映射文件的配置,countryMapper.xml配置文件
这里值得注意的是:<resultMap>中即使result中的字段名和属性名相同,也必须写出他们的映射关系,因为框架是根据这个<resultMap>封装对象的。另外,在映射文件中使用<collection>标签体现两个实体间的关联关系,其两个属性的意义:
Property:指定关联属性。在本案例中就是set集合的名字。
ofType:集合属性的泛型类型,就是你配置的resultMap的id的值。