ibatis中N+1有关问题

ibatis中N+1问题背景:User RoleUserRole 3个表的关系我现在的需求:查找出所有用户,并且把他的角色也显示出

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去组合即可。

?

?