为了账号安全,请及时绑定邮箱和手机立即绑定

SSM框架中多表关联如何操作

SSM框架中多表关联如何操作

四季花海 2019-02-24 23:17:20
我先说说我自己是如何操作mybatis的多表关联的查询的 我并没有用sql语句嵌套查询,多表查询全都是用在代码挨个单表查询实现的 比如我一般在Controller层这么写 DomainA a = serviceA.find(1); DomainB b = serviceB.find(a.getBid()); modelMap.put("a",a); modelMap.put("b",b); 这样写是否是正确的写法? 我原先的这段话可能存在歧义: 我是否应该在sql中写多表关联? 如果这么做 返回的数据无法用Model层的对象包装返回 修改成:我是否应该在sql中写多表关联? 结果集是个多表不同字段的结果集 单个表的Model已经无法满足. 一些回答说可以一个新Model包含两张表的字段,那我如果跨4,5张表这种呢,为了一次查询新建一个存在非常多字段的类(成员变量可能超过200)吗? 还有一个问题,ModelMap写在Service层好吗
查看完整描述

4 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

你可能忘记了mybatis的xml文件可以写ResultMap这个东西

多表查询之后 结果映射到ResultMap里

查看完整回答
反对 回复 2019-03-01
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

如果两张表在一个库,既然用了mybatis了,在数据量允许情况下,就用join吧

查看完整回答
反对 回复 2019-03-01
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

使用子查询或者join,然后新建一个新的dto对象将DomainA 和DomainB 中需要的属性包起来就行了,随着业务的增加而增加新的属性。

查看完整回答
反对 回复 2019-03-01
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

在sql里多表查询,Model类只要有对应的字段,就会返回数据。

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 1236 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信