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.

58 lines
1.7 KiB

6 months ago
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.example.demo.mapper.coin.MenuMapper">
  4. <update id="updateMenu">
  5. <foreach collection="roleMenuList" item="item" separator=";">
  6. UPDATE role_menu
  7. <set>
  8. <if test="item.menuId != null">
  9. menu_id = #{item.menuId},
  10. </if>
  11. </set>
  12. WHERE role_id = #{item.roleId}
  13. </foreach>
  14. </update>
  15. <delete id="deleteMenu">
  16. DELETE FROM role_menu
  17. WHERE role_id = #{id}
  18. </delete>
  19. <select id="selectMenusByRoleId" resultType="com.example.demo.domain.vo.coin.MenuVo">
  20. SELECT DISTINCT
  21. m.id,
  22. m.menu_name,
  23. m.parent_id,
  24. m.menu_type,
  25. m.priority
  26. FROM
  27. role r
  28. LEFT JOIN role_menu rm ON r.id = rm.role_id
  29. LEFT JOIN menu m ON rm.menu_id = m.id
  30. WHERE
  31. r.id = #{roleId}
  32. AND m.id IS NOT NULL
  33. ORDER BY
  34. m.parent_id,m.priority
  35. </select>
  36. <insert id="addPermission">
  37. INSERT INTO role_menu (role_id, menu_id)
  38. VALUES
  39. <foreach collection="list" item="item" separator=",">
  40. (#{item.roleId}, #{item.menuId})
  41. </foreach>
  42. </insert>
  43. <select id="selectByMenuId" resultType="com.example.demo.domain.entity.Menu">
  44. SELECT menu_name FROM menu
  45. <where>
  46. id = #{id}
  47. </where>
  48. </select>
  49. <select id="selectFatherId" resultType="int">
  50. SELECT parent_id FROM menu
  51. <where>
  52. id = #{id}
  53. </where>
  54. </select>
  55. </mapper>