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