为什么我的if和left嵌套使用结果不对

问题的起因是用到了Mybatis提供的高级查询功能 - 嵌套查询

查询一个用户的基本信息数据结构组成如下,用户信息-角色信息-权限信息

一个用户拥有多个角色(1对多)一个角色拥有哆个权限(1对多)

需要通过一条SQL查询出用户的基本信息还有角色信息以及权限信息

通过如下SQL以及映射无法查询到权限数据

通过下面的映射关系無法查询出角色对应的权限集合,问题的原因就在映射结果集中使用了columnPrefix这个属性该属性的作用是过滤别名前缀

注意:该属性在只有一层嵌套查询时是没问题的,但是多个嵌套查询就有问题了

修改后的SQL以及映射

注意映射中去掉了columnPrefix属性使用完整的别名进行映射,这样就可以查询到角色对应的权限集合数据

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信