spzx/spzx-manager/src/main/resources/mapper/menu/SysMenuMapper.xml

79 lines
2.4 KiB
XML

<?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="cn.bunny.mapper.SysMenuMapper">
<!-- 映射查询到的字段 -->
<resultMap id="sysRoleMap" type="cn.bunny.common.spzx.model.entity.system.SysMenu" autoMapping="true"/>
<!-- 用于select查询公用抽取的列 -->
<sql id="columns">
id,parent_id,title,component,sort_value,status,create_time,update_time,is_deleted
</sql>
<!-- 添加菜单 -->
<insert id="save">
insert into sys_menu (id, parent_id, title, component, sort_value, status)
values (#{id},
#{parentId},
#{title},
#{component},
#{sortValue},
#{status});
</insert>
<!-- 修改菜单 -->
<update id="update">
update sys_menu set
<if test="parentId != null and parentId != ''">
parent_id=#{parentId},
</if>
<if test="title != null and title != ''">
title=#{title},
</if>
<if test="component != null and component!=''">
component=#{component},
</if>
<if test="sortValue != null">
sort_value=#{sortValue},
</if>
<if test="status != null">
status=#{status},
</if>
update_time=now();
where id=#{id}
</update>
<update id="removeById">
update sys_menu
set is_deleted=1
where id = #{id}
</update>
<!-- 查询所有子节点,返回list集合 -->
<select id="findAll" resultMap="sysRoleMap">
select
<include refid="columns"/>
from sys_menu
where is_deleted=0
order by sort_value
</select>
<!-- 查询是否有子菜单 -->
<select id="selectById" resultType="java.lang.Long">
select count(*)
from sys_menu
where parent_id = #{id}
and is_deleted = 0
</select>
<!-- 根据userid查询可以操作菜单 -->
<select id="findMenuByUserId" resultMap="sysRoleMap">
select *
from sys_menu m
inner join sys_role_menu srm on m.id = srm.menu_id
inner join sys_user_role sur on srm.role_id = sur.role_id
where sur.user_id = 1
and m.is_deleted = 0
</select>
</mapper>