HrmRole.xml 3.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.cloudstore.dev.api.mapper.HrmRoleMapper">

    <select id="listMysql" resultMap="resultMap1">
    select
    sr.id,sr.roleid,role.rolesmark
    from systemrightroles sr
    left join hrmroles role on sr.roleid = role.id
    where sr.rightid = 2398
    <if test="role.roleId != null and role.roleId != ''">
        and sr.roleid = #{role.roleId}
    </if>
    <if test="role.rolesMark != null and role.rolesMark != ''">
        and sr.rolesmark like concat(concat('%', #{role.rolesMark}), '%')
    </if>
    group by roleid
    order by id desc
    limit #{pageNum},#{pageSize}
    </select>
    <resultMap id="resultMap1" type="com.cloudstore.dev.bean.HrmRole">
        <result column="roleid" property="roleId"></result>
        <result column="rolesmark" property="rolesMark"></result>
    </resultMap>

    <select id="listOracle" resultMap="resultMap1">

        select *
        from
        (
        select data.*, ROWNUM as rowno
        from
        (
        select
        sr.id,sr.roleid,role.rolesmark
        from systemrightroles sr
        left join hrmroles role on sr.roleid = role.id
        where sr.rightid = 2398
        <if test="role.roleId != null and role.roleId != ''">
            and sr.roleid = #{role.roleId}
        </if>
        <if test="role.rolesMark != null and role.rolesMark != ''">
            and sr.rolesmark like concat(concat('%', #{role.rolesMark}), '%')
        </if>
        group by roleid
        order by id desc
        ) data
        ) temp
        where temp.rowno between #{pageNum} and #{pageSize}
    </select>

    <select id="listSqlServer" resultMap="resultMap1">

        select * from
        (
        select top (#{pageNum}) row_number() over
        ( ORDER BY sr.id desc ) as rownum,
        sr.id,sr.roleid,role.rolesmark
        from systemrightroles sr
        left join hrmroles role on sr.roleid = role.id
        where sr.rightid = 2398
        <if test="role.roleId != null and role.roleId != ''">
            and sr.roleid = #{role.roleId}
        </if>
        <if test="role.rolesMark != null and role.rolesMark != ''">
            and sr.rolesmark like concat(concat('%', #{role.rolesMark}), '%')
        </if>
        group by roleid
        order by id desc
        ) as temp
        where temp.rownum &gt; #{pageSize}
    </select>

    <select id="count" resultType="int">
    select
    count(distinct sr.id,sr.roleid,role.rolesmark)
        from systemrightroles sr
        left join hrmroles role on sr.roleid = role.id
        where sr.rightid = 2398
        <if test="role.roleId != null and role.roleId != ''">
            and sr.roleid = #{role.roleId}
        </if>
        <if test="role.rolesMark != null and role.rolesMark != ''">
            and sr.rolesmark like concat(concat('%', #{role.rolesMark}), '%')
        </if>
    </select>

    <select id="countSql" resultType="int">
        select
        count(distinct sr.id,sr.roleid,role.rolesmark)
        from systemrightroles sr
        left join hrmroles role on sr.roleid = role.id
        where sr.rightid = 2398
        <if test="role.roleId != null and role.roleId != ''">
            and sr.roleid = #{role.roleId}
        </if>
        <if test="role.rolesMark != null and role.rolesMark != ''">
            and sr.rolesmark like '%'+#{role.rolesMark})+'%'
        </if>
    </select>

</mapper>