<?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="pwc.taxtech.atms.dao.RolePermissionMapper"> <select id="selectByRoleId" parameterType="java.lang.String" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List"/> FROM ROLE_PERMISSION WHERE ROLE_ID = #{roleId,jdbcType=VARCHAR} </select> <resultMap extends="BaseResultMap" id="ResultMapWithAssociation" type="pwc.taxtech.atms.entity.RolePermission"> <association column="ROLE_ID" javaType="pwc.taxtech.atms.entity.Role" property="role"> <id column="ROLE_ID" property="id"/> <result column="ROLE_NAME" property="name"/> <result column="ROLE_DESCRIPTION" property="description"/> <result column="ROLE_CATEGORY_ID" property="roleCategoryId"/> <result column="ROLE_SERVICE_TYPE" property="serviceTypeId"/> <result column="ROLE_CREATE_TIME" property="createTime"/> <result column="ROLE_UPDATE_TIME" property="updateTime"/> </association> <association column="PERMISSION_ID" javaType="pwc.taxtech.atms.entity.Permission" property="permission"> <id column="PERMISSION_ID" property="id"/> <result column="PERMISSION_NAME" property="name"/> <result column="PERMISSION_CODE" property="code"/> <result column="PERMISSION_PARENT_ID" property="parentId"/> <result column="PERMISSION_IS_ACTIVE" property="isActive"/> <result column="PERMISSION_P_LEVEL" property="pLevel"/> <result column="PERMISSION_RELY_ON_CODES" property="relyOnCodes"/> <result column="PERMISSION_MENU_ID" property="menuId"/> <result column="PERMISSION_SERVICE_TYPE_ID" property="serviceTypeId"/> <result column="PERMISSION_CREATE_TIME" property="createTime"/> <result column="PERMISSION_UPDATE_TIME" property="updateTime"/> </association> </resultMap> <select id="selectByRoleAndServiceTypeWithAssociation" resultMap="ResultMapWithAssociation"> SELECT RP.ID AS ID, rp.ROLE_ID, rp.PERMISSION_ID, r.ID AS ROLE_ID, r.NAME AS ROLE_NAME, r.DESCRIPTION AS ROLE_DESCRIPTION, r.ROLE_CATEGORY_ID AS ROLE_CATEGORY_ID, r.SERVICE_TYPE_ID AS ROLE_SERVICE_TYPE, r.CREATE_TIME AS ROLE_CREATE_TIME, r.UPDATE_TIME AS ROLE_UPDATE_TIME, p.ID AS PERMISSION_ID, p.NAME AS PERMISSION_NAME, p.CODE AS PERMISSION_CODE, p.PARENT_ID AS PERMISSION_PARENT_ID, p.IS_ACTIVE AS PERMISSION_IS_ACTIVE, p.P_LEVEL AS PERMISSION_P_LEVEL, p.RELY_ON_CODES AS PERMISSION_RELY_ON_CODES, p.MENU_ID AS PERMISSION_MENU_ID, p.SERVICE_TYPE_ID AS PERMISSION_SERVICE_TYPE_ID, p.CREATE_TIME AS PERMISSION_CREATE_TIME, p.UPDATE_TIME AS PERMISSION_UPDATE_TIME FROM ROLE_PERMISSION rp JOIN ROLE r on r.ID = rp.ROLE_ID JOIN PERMISSION p on p.ID = rp.PERMISSION_ID where rp.ROLE_ID= #{roleId,jdbcType=VARCHAR} AND R.SERVICE_TYPE_ID= #{serviceTypeId,jdbcType=VARCHAR} </select> <select id="selectByRoleListAndServiceTypeWithAssociation" resultMap="ResultMapWithAssociation"> SELECT RP.ID AS ID, rp.ROLE_ID, rp.PERMISSION_ID, r.ID AS ROLE_ID, r.NAME AS ROLE_NAME, r.DESCRIPTION AS ROLE_DESCRIPTION, r.ROLE_CATEGORY_ID AS ROLE_CATEGORY_ID, r.SERVICE_TYPE_ID AS ROLE_SERVICE_TYPE, r.CREATE_TIME AS ROLE_CREATE_TIME, r.UPDATE_TIME AS ROLE_UPDATE_TIME, p.ID AS PERMISSION_ID, p.NAME AS PERMISSION_NAME, p.CODE AS PERMISSION_CODE, p.PARENT_ID AS PERMISSION_PARENT_ID, p.IS_ACTIVE AS PERMISSION_IS_ACTIVE, p.P_LEVEL AS PERMISSION_P_LEVEL, p.RELY_ON_CODES AS PERMISSION_RELY_ON_CODES, p.MENU_ID AS PERMISSION_MENU_ID, p.SERVICE_TYPE_ID AS PERMISSION_SERVICE_TYPE_ID, p.CREATE_TIME AS PERMISSION_CREATE_TIME, p.UPDATE_TIME AS PERMISSION_UPDATE_TIME FROM ROLE_PERMISSION rp JOIN ROLE r on r.ID = rp.ROLE_ID JOIN PERMISSION p on p.ID = rp.PERMISSION_ID where r.SERVICE_TYPE_ID= #{serviceTypeId,jdbcType=VARCHAR} AND RP.ROLE_ID in <foreach close=")" collection="roleList" index="index" item="roleID" open="(" separator=","> #{roleID} </foreach> </select> </mapper>