SysMenuMapper.xml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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.gxzc.zen.api.sys.mapper.SysMenuMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.gxzc.zen.api.sys.model.SysMenu">
  6. <result column="id" property="id"/>
  7. <result column="enable" property="enable"/>
  8. <result column="remark" property="remark"/>
  9. <result column="create_time" property="createTime"/>
  10. <result column="create_by" property="createBy"/>
  11. <result column="update_time" property="updateTime"/>
  12. <result column="update_by" property="updateBy"/>
  13. <result column="parent_id" property="parentId"/>
  14. <result column="path" property="path"/>
  15. <result column="code" property="code"/>
  16. <result column="type" property="type"/>
  17. <result column="title" property="title"/>
  18. <result column="uri" property="uri"/>
  19. <result column="icon" property="icon"/>
  20. <result column="sort" property="sort"/>
  21. <result column="ext1" property="ext1"/>
  22. <result column="ext2" property="ext2"/>
  23. <result column="ext3" property="ext3"/>
  24. <result column="ext4" property="ext4"/>
  25. <result column="ext5" property="ext5"/>
  26. </resultMap>
  27. <sql id="CommonColumns">
  28. ${prefix}.id,
  29. ${prefix}.enable,
  30. ${prefix}.remark,
  31. ${prefix}.create_time AS createTime,
  32. ${prefix}.create_by AS createBy,
  33. ${prefix}.update_time AS updateTime,
  34. ${prefix}.update_by AS updateBy,
  35. </sql>
  36. <sql id="Columns">
  37. <include refid="CommonColumns">
  38. <property name="prefix" value="${prefix}"/>
  39. </include>
  40. ${prefix}.parent_id AS parentId,
  41. ${prefix}.path,
  42. ${prefix}.code,
  43. ${prefix}.type,
  44. ${prefix}.title,
  45. ${prefix}.uri,
  46. ${prefix}.icon,
  47. ${prefix}.sort,
  48. ${prefix}.ext1,
  49. ${prefix}.ext2,
  50. ${prefix}.ext3,
  51. ${prefix}.ext4,
  52. ${prefix}.ext5
  53. </sql>
  54. <select id="selectByRoleIds" resultType="com.gxzc.zen.api.sys.model.SysMenu">
  55. SELECT
  56. <include refid="Columns">
  57. <property name="prefix" value="A"/>
  58. </include>
  59. FROM
  60. sys_menu AS A
  61. INNER JOIN sys_menu_role AS B ON A.id = B.menu_id
  62. WHERE B.role_id IN
  63. <foreach collection="roleIds" separator="," item="item" open="(" close=")">
  64. #{item}
  65. </foreach>
  66. </select>
  67. <update id="updatePath">
  68. UPDATE `sys_menu`
  69. SET path = CONCAT((SELECT path FROM (SELECT * FROM `sys_menu` WHERE id = #{parentId}) AS temp), '-', #{id})
  70. WHERE id = #{id}
  71. </update>
  72. </mapper>