您的位置:首页 > 其它

MyBatis:关联查询——一对多 多表连接、单独查询(详解resultMap)

2018-03-28 08:38 423 查看
我们现在数据库里有两个表:Country,Minister,我们现在通过查询Country的cid来得到Minister里的的信息。两个表如图:

Country

Minister一、多表连接查询:创建接口: Country selectCountryById(int cid);

country类

minister类映射文件:

映射文件测试类:

测试类查询结果:

对映射文件里的resultMap的详解:

详解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集合。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis
相关文章推荐