最近无事,闲暇之余琢磨了一下RBAC权限管理,准备写个Demo演示一下。
写到权限部分的时候,遇到了一个需求。就是查询权限的时候,将该权限的子权限集合一次性全查出来。废话不多说,直接见代码(后台是ssm,下面给出mybatis的代码)。。
<resultMap id="PermissionViewMap" type="com.yunhui.bean.vo.PermissonView"> <id column="par_permisson_id" jdbcType="INTEGER" property="permissonId" /> <result column="par_permisson_name" jdbcType="VARCHAR" property="permissonName" /> <collection property="childPermissons" ofType="com.yunhui.bean.po.Permisson"> <id column="child_permisson_id" jdbcType="INTEGER" property="permissonId" /> <result column="child_permisson_name" jdbcType="VARCHAR" property="permissonName" /> <result column="child_permisson_url" jdbcType="VARCHAR" property="permissonUrl" /> </collection> </resultMap> <select id="listPermissionView" resultMap="PermissionViewMap"> SELECT p1.permisson_id par_permisson_id, p1.permisson_name par_permisson_name,p2.permisson_id child_permisson_id, p2.permisson_name child_permisson_name,p2.permisson_url child_permisson_url FROM permisson p1 LEFT JOIN permisson p2 ON p1.permisson_id=p2.parent_permisson_id WHERE p1.permisson_lv=1 </select>
这段代码没什么难度的,相信有点mybatis知识的就可以看懂了。。。写在这里仅作为一个记录,方便日后查看。