我们现在数据库里有两个表:Country,Minister,我们现在通过查询Country的cid来得到Minister里的的信息。
两个表如图:
一、多表连接查询:
创建接口: Country selectCountryById(int cid);
映射文件:
测试类:
查询结果:
对映射文件里的resultMap的详解:
-
<id>:主键字段
-
<result>:普通字段
-
type:整体封装出的类型
-
column:字段名(表里定义好的)
-
property:关联属性(查询出来的结果封装成Country里的哪个属性)
-
<collection>:集合封装
-
ofType:指定属性类型(关联属性是什么类型)
集合封装说明:字段mname,mid都不是Country里的,而是Minister里的,但是我们在country类里定义了Set<Minister> ministers;集合,这里我们将两个属性封装到ministers集合里,也就封装到了Minister的对象里。
二、多表单独查询:
除了上面的查询方式外我们还可以这样查询——多表单独查询。
映射文件:
这种方式里的Minister属性mid、mname是通过查询得到的,而非定义包装的。
将查询到的mid、mname再传给Country类里的ministers集合。