SysRoleDao.xml 2.44 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="com.gxb.modules.sys.dao.SysRoleDao">

	<select id="queryObject" resultType="com.gxb.modules.sys.entity.SysRoleEntity">
		select * from sys_role where role_id = #{value}
	</select>
	
	<select id="queryList" resultType="com.gxb.modules.sys.entity.SysRoleEntity">
		select r.*, (select d.name from sys_dept d where d.dept_id = r.dept_id) deptName from sys_role r
		<where>
			<if test="roleName != null and roleName.trim() != ''">
				and r.`role_name` like concat('%',#{roleName},'%')
			</if>
		</where>
		<choose>
			<when test="sidx != null and sidx.trim() != ''">
				order by r.${sidx} ${order}
			</when>
			<otherwise>
				order by r.role_id asc
			</otherwise>
		</choose>
		<if test="offset != null and limit != null">
			limit #{offset}, #{limit}
		</if>
	</select>
	
	<select id="queryTotal" resultType="int">
		select count(*) from sys_role 
		<where>
			<if test="roleName != null and roleName.trim() != ''">
				and `role_name` like concat('%',#{roleName},'%') 
			</if>
		</where>
	</select>
	
	<insert id="save" parameterType="com.gxb.modules.sys.entity.SysRoleEntity" useGeneratedKeys="true" keyProperty="roleId">
		insert into sys_role
		(
			`role_id`, 
			`role_name`, 
			`remark`,
			`dept_id`,
			`create_time`
		)
		values
		(
			#{roleId}, 
			#{roleName}, 
			#{remark},
			#{deptId},
			#{createTime}
		)
	</insert>
	 
	<update id="update" parameterType="com.gxb.modules.sys.entity.SysRoleEntity">
		update sys_role 
		<set> 
			<if test="roleName != null">`role_name` = #{roleName}, </if>
			<if test="remark != null">`remark` = #{remark},</if>
			<if test="deptId != null">`dept_id` = #{deptId}, </if>
		</set>
		where role_id = #{roleId}
	</update>
	
	<delete id="deleteBatch">
		delete from sys_role where role_id in 
		<foreach item="roleId" collection="array" open="(" separator="," close=")">
			#{roleId}
		</foreach>
		;
		delete from sys_role_menu where role_id in 
		<foreach item="roleId" collection="array" open="(" separator="," close=")">
			#{roleId}
		</foreach>
		;
		delete from sys_role_dept where role_id in
		<foreach item="roleId" collection="array" open="(" separator="," close=")">
			#{roleId}
		</foreach>
		;
		delete from sys_user_role where role_id in 
		<foreach item="roleId" collection="array" open="(" separator="," close=")">
			#{roleId}
		</foreach>
	</delete>

</mapper>