| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.moral.api.mapper.ManageMenuMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageMenu"> |
| | | <id column="id" property="id" /> |
| | | <result column="name" property="name" /> |
| | | <result column="url" property="url" /> |
| | | <result column="icon" property="icon" /> |
| | | <result column="parent_id" property="parentId" /> |
| | | <result column="order" property="order" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="is_delete" property="isDelete" /> |
| | | </resultMap> |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageMenu"> |
| | | <id column="id" property="id"/> |
| | | <result column="name" property="name"/> |
| | | <result column="url" property="url"/> |
| | | <result column="icon" property="icon"/> |
| | | <result column="parent_id" property="parentId"/> |
| | | <result column="order" property="order"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="is_delete" property="isDelete"/> |
| | | </resultMap> |
| | | |
| | | <!--父子结构查询映射结果--> |
| | | <resultMap id="ParentChildrenResultMap" type="com.moral.api.entity.ManageMenu"> |
| | | <id column="id" property="id"/> |
| | | <result column="name" property="name"/> |
| | | <result column="url" property="url"/> |
| | | <result column="icon" property="icon"/> |
| | | <result column="parent_id" property="parentId"/> |
| | | <result column="order" property="order"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="is_delete" property="isDelete"/> |
| | | <collection property="children" ofType="com.moral.api.entity.ManageMenu" column="id" select="getChildrenByParentId"></collection> |
| | | </resultMap> |
| | | |
| | | <sql id="Base_Column_List"> |
| | | mm.id,mm.name,mm.url,mm.icon,mm.parent_id,mm.order,mm.create_time,mm.update_time,mm.is_delete |
| | | </sql> |
| | | |
| | | <!--根据角色集合查询所有的父菜单--> |
| | | <select id="getParentMenuByRoles" resultMap="BaseResultMap"> |
| | | select |
| | | <include refid="Base_Column_List"></include> |
| | | from |
| | | manage_menu mm |
| | | join |
| | | manage_role_menu mrm |
| | | on |
| | | mm.`id` = mrm.`menu_id` and mm.`is_delete`=0 |
| | | join |
| | | manage_role mr |
| | | on |
| | | mr.`id` = mrm.`role_id` and mr.`id` IN |
| | | <foreach collection="list" separator="," open="(" close=")" item="role"> |
| | | #{role.id} |
| | | </foreach> |
| | | where |
| | | mm.`is_delete`=0 |
| | | AND |
| | | mm.`parent_id`=0; |
| | | </select> |
| | | |
| | | <!--根据父菜单Id查询所有的子菜单--> |
| | | <select id="getChildrenByParentId" parameterType="Integer" resultMap="BaseResultMap"> |
| | | SELECT |
| | | <include refid="Base_Column_List"></include> |
| | | FROM |
| | | manage_menu mm |
| | | WHERE |
| | | mm.parent_id = #{value} |
| | | </select> |
| | | |
| | | <!--根据角色查询父子结构的菜单--> |
| | | <select id="getParentChildrenMenusByRoles" resultMap="ParentChildrenResultMap"> |
| | | select |
| | | <include refid="Base_Column_List"></include> |
| | | from |
| | | manage_menu mm |
| | | join |
| | | manage_role_menu mrm |
| | | on |
| | | mm.`id` = mrm.`menu_id` and mm.`is_delete`=0 |
| | | join |
| | | manage_role mr |
| | | on |
| | | mr.`id` = mrm.`role_id` and mr.`id` IN |
| | | <foreach collection="list" separator="," open="(" close=")" item="role"> |
| | | #{role.id} |
| | | </foreach> |
| | | where |
| | | mm.`is_delete`=0 |
| | | AND |
| | | mm.`parent_id`=0; |
| | | </select> |
| | | |
| | | </mapper> |