You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.7 KiB
59 lines
1.7 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.example.demo.mapper.coin.MenuMapper">
|
|
<update id="updateMenu">
|
|
<foreach collection="roleMenuList" item="item" separator=";">
|
|
UPDATE role_menu
|
|
<set>
|
|
<if test="item.menuId != null">
|
|
menu_id = #{item.menuId},
|
|
</if>
|
|
</set>
|
|
WHERE role_id = #{item.roleId}
|
|
</foreach>
|
|
</update>
|
|
<delete id="deleteMenu">
|
|
DELETE FROM role_menu
|
|
WHERE role_id = #{id}
|
|
</delete>
|
|
|
|
<select id="selectMenusByRoleId" resultType="com.example.demo.domain.vo.coin.MenuVo">
|
|
SELECT DISTINCT
|
|
m.id,
|
|
m.menu_name,
|
|
m.parent_id,
|
|
m.menu_type,
|
|
m.priority
|
|
FROM
|
|
role r
|
|
LEFT JOIN role_menu rm ON r.id = rm.role_id
|
|
LEFT JOIN menu m ON rm.menu_id = m.id
|
|
WHERE
|
|
r.id = #{roleId}
|
|
AND m.id IS NOT NULL
|
|
ORDER BY
|
|
m.parent_id,m.priority
|
|
</select>
|
|
|
|
<insert id="addPermission">
|
|
INSERT INTO role_menu (role_id, menu_id)
|
|
VALUES
|
|
<foreach collection="list" item="item" separator=",">
|
|
(#{item.roleId}, #{item.menuId})
|
|
</foreach>
|
|
</insert>
|
|
|
|
<select id="selectByMenuId" resultType="com.example.demo.domain.entity.Menu">
|
|
SELECT menu_name FROM menu
|
|
<where>
|
|
id = #{id}
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectFatherId" resultType="int">
|
|
SELECT parent_id FROM menu
|
|
<where>
|
|
id = #{id}
|
|
</where>
|
|
</select>
|
|
</mapper>
|