UNPKG

imboard

Version:

Most convenient platform for webpage development.

155 lines (146 loc) 4.51 kB
<?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="menu"> <resultMap type="MenuVo" id="menuResult"> <result column="ID" property="id" /> <result column="NAME" property="name" /> <result column="TYPE" property="type" /> <result column="PARAMETER" property="parameter" /> <result column="PRIORITY" property="priority" /> <result column="PARENT_MENU_ID" property="parentMenuId" /> <result column="VIEW_LEVEL" property="viewLevel"/> <result column="CHILD_MENU_COUNT" property="childMenuCount"/> <result column="CREATOR" property="creator"/> </resultMap> <select id="getMenuList" parameterType="string" resultMap="menuResult"> SELECT ID, NAME, TYPE, PARAMETER, PRIORITY, PARENT_MENU_ID, VIEW_LEVEL, (SELECT COUNT(*) FROM IMB_MENU WHERE PARENT_MENU_ID = A.ID) AS CHILD_MENU_COUNT, CREATOR FROM IMB_MENU A WHERE <choose> <when test="!#{parentMenuId}">PARENT_MENU_ID IS NULL OR PARENT_MENU_ID = ID OR PARENT_MENU_ID = ''</when> <otherwise>PARENT_MENU_ID = #{parentMenuId}</otherwise> </choose> ORDER BY PARENT_MENU_ID, PRIORITY </select> <select id="searchMenu" parameterType="MenuVo" resultMap="menuResult"> SELECT ID, NAME, TYPE, PARAMETER, PRIORITY, PARENT_MENU_ID, VIEW_LEVEL, (SELECT COUNT(*) FROM IMB_MENU WHERE PARENT_MENU_ID = A.ID) AS CHILD_MENU_COUNT, CREATOR FROM IMB_MENU A WHERE 1 = 1 <if test="#{id}"> AND ID = #{id} </if> <if test="#{name}"> AND NAME = #{name} </if> <if test="#{type}"> AND TYPE = #{type} </if> <if test="#{parameter}"> AND PARAMETER = #{parameter} </if> <if test="#{parentMenuId}"> AND PARENT_MENU_ID = #{parentMenuId} </if> <if test="#{creator}"> AND CREATOR = #{creator} </if> </select> <select id="getMenu" parameterType="id" resultMap="menuResult"> SELECT ID, NAME, TYPE, PARAMETER, PRIORITY, PARENT_MENU_ID, VIEW_LEVEL, (SELECT COUNT(*) FROM IMB_MENU WHERE PARENT_MENU_ID = A.ID) AS CHILD_MENU_COUNT, CREATOR FROM IMB_MENU A WHERE ID = #{id} </select> <select id="getNextPriority" resultType="int"> SELECT if(isnull(MAX(PRIORITY)), 0, MAX(PRIORITY)+1) FROM IMB_MENU </select> <select id="getMenuByName" parameterType="MenuVo" resultMap="menuResult"> SELECT ID, NAME, TYPE, PARAMETER, PRIORITY, PARENT_MENU_ID, VIEW_LEVEL, (SELECT COUNT(*) FROM IMB_MENU WHERE PARENT_MENU_ID = A.ID) AS CHILD_MENU_COUNT, CREATOR, FROM IMB_MENU A WHERE NAME = #{name} </select> <insert id="insertMenu" parameterType="MenuVo"> INSERT INTO IMB_MENU (ID, NAME, TYPE, PARAMETER, PRIORITY, PARENT_MENU_ID, VIEW_LEVEL, CREATOR, GROUP_ID) VALUES ( #{id}, #{name}, #{type}, #{parameter}, #{priority}, #{parentMenuId}, #{viewLevel}, #{creator}, #{parentMenuId} ) </insert> <update id="updateMenu" parameterType="MenuVo"> UPDATE IMB_MENU SET NAME = #{name} <if test="#{type} != null">,TYPE = #{type}</if> <if test="#{parameter} != null">,PARAMETER = #{parameter}</if> <if test="#{priority} != null">,PRIORITY = #{priority}</if> <if test="#{parentMenuId} != null">,PARENT_MENU_ID = #{parentMenuId}</if> <if test="#{viewLevel} != null">,VIEW_LEVEL = #{viewLevel}</if> WHERE ID = #{id} </update> <delete id="deleteMenu" parameterType="string"> DELETE FROM IMB_MENU WHERE ID = #{id} </delete> <delete id="deleteMenuByParentMenuId" parameterType="string"> DELETE FROM IMB_MENU WHERE GROUP_ID = #{id} </delete> </mapper>