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.

37 lines
1.1 KiB

  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.MenuMapper">
  4. <select id="selectMenusByRoleId" resultType="com.example.demo.domain.vo.MenuVo">
  5. SELECT DISTINCT
  6. m.id,
  7. m.menu_name,
  8. m.parent_id,
  9. m.menu_type,
  10. m.priority
  11. FROM
  12. role r
  13. LEFT JOIN role_menu rm ON r.id = rm.role_id
  14. LEFT JOIN menu m ON rm.menu_id = m.id
  15. WHERE
  16. r.id = #{roleId}
  17. AND m.id IS NOT NULL
  18. ORDER BY
  19. m.parent_id,m.priority
  20. </select>
  21. <insert id="addPermission">
  22. INSERT INTO role_menu (role_id, menu_id)
  23. VALUES
  24. <foreach collection="list" item="item" separator=",">
  25. (#{item.roleId}, #{item.menuId})
  26. </foreach>
  27. </insert>
  28. <select id="selectByMenuId" resultType="com.example.demo.domain.entity.Menu">
  29. SELECT menu_name FROM menu
  30. <where>
  31. id = #{id}
  32. </where>
  33. </select>
  34. </mapper>