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.

38 lines
1.1 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.MenuMapper">
<select id="selectMenusByRoleId" resultType="com.example.demo.domain.vo.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>
</mapper>