读书人

ibatis中N+1有关问题

发布时间: 2012-10-31 14:37:31 作者: rapoo

ibatis中N+1问题

背景:User Role UserRole 3个表的关系

我现在的需求:查找出所有用户,并且把他的角色也显示出来

一个用户可以有多个角色,那么User: id,name, Role

1.User ResultMap

2.Role ResultMap

?

3.User SELECT

讲解问题重现:

?

这里用了select 属性,可以理解为一个抓取策略,会根据roleid去发一条SQL抓取,但是我现在需求是查询所有的用户

那么对应的roleid会有多个,那么就会发多条SQL

?

解决问题:

其实我用内连接已经查询出了用户、角色的全部信息,我在

这个result中,再次关联一个resulMap然后用groupId去组合即可。

?

?

读书人网 >软件架构设计

热点推荐