我先说说我自己是如何操作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 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
使用子查询或者join,然后新建一个新的dto对象将DomainA 和DomainB 中需要的属性包起来就行了,随着业务的增加而增加新的属性。
添加回答
举报
0/150
提交
取消