ResourceMapper.xml 3.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
<?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.iocoder.mall.admin.dao.ResourceMapper">

    <!--<insert id="insert" parameterType="UserDO" useGeneratedKeys="true" keyProperty="id">-->
    <!--INSERT INTO users (-->
    <!--id, mobile, create_time-->
    <!--) VALUES (-->
    <!--#{id}, #{mobile}, #{createTime}-->
    <!--)-->
    <!--</insert>-->

YunaiV's avatar
YunaiV committed
13
    <sql id="FIELDS">
14 15
        id, name, type, sort, display_name,
        create_time, pid, handler
YunaiV's avatar
YunaiV committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    </sql>

    <select id="selectByTypeAndHandler" resultType="ResourceDO">
        SELECT
          <include refid="FIELDS"/>
        FROM resource
        WHERE type = #{type}
        AND handler = #{handler}
        AND deleted = 0
        LIMIT 1
    </select>

    <select id="selectListByType" parameterType="Integer" resultType="ResourceDO">
        SELECT
          <include refid="FIELDS"/>
        FROM resource
YunaiV's avatar
YunaiV committed
32 33 34 35 36 37
        <where>
            <if test="type != null">
               type = #{type}
            </if>
            AND deleted = 0
        </where>
38 39 40
    </select>

    <select id="selectListByTypeAndRoleIds" resultType="ResourceDO">
YunaiV's avatar
YunaiV committed
41 42 43 44
        SELECT
            r.id, r.name, r.type, r.sort, r.display_name,
            r.create_time, r.pid, r.handler
        FROM resource r, role_resource rr
45
        WHERE r.deleted = 0
46
        AND rr.deleted = 0
47 48 49
        <if test="type != null">
            AND r.type = #{type}
        </if>
YunaiV's avatar
YunaiV committed
50
        AND rr.role_id IN
51 52 53
            <foreach item="roleId" collection="roleIds" separator="," open="(" close=")" index="">
                #{roleId}
            </foreach>
YunaiV's avatar
YunaiV committed
54
        AND r.id = rr.resource_id
55 56
    </select>

YunaiV's avatar
YunaiV committed
57 58 59 60 61 62 63 64
    <select id="selectByName" parameterType="String" resultType="ResourceDO">
        SELECT
          <include refid="FIELDS"/>
        FROM resource
        WHERE name = #{name}
        AND deleted = 0
        LIMIT 1
    </select>
YunaiV's avatar
YunaiV committed
65

YunaiV's avatar
YunaiV committed
66 67 68 69 70 71 72 73
    <select id="selectById" resultType="ResourceDO">
        SELECT
          <include refid="FIELDS"/>
        FROM resource
        WHERE id = #{id}
        AND deleted = 0
    </select>

74 75 76 77 78 79 80 81 82 83 84
    <select id="selectListByIds" resultType="ResourceDO">
        SELECT
          <include refid="FIELDS"/>
        FROM resource
        WHERE id IN
            <foreach item="id" collection="ids" separator="," open="(" close=")" index="">
                #{id}
            </foreach>
        AND deleted = 0
    </select>

YunaiV's avatar
YunaiV committed
85 86 87 88 89
    <select id="selectCountByPid" resultType="int">
        SELECT
          COUNT(1)
        FROM resource
        WHERE pid = #{pid}
90
        AND deleted = 0
YunaiV's avatar
YunaiV committed
91 92
    </select>

YunaiV's avatar
YunaiV committed
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
    <insert id="insert" parameterType="ResourceDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
        INSERT INTO resource (
          name, type, sort, display_name, handler,
          pid, create_time, deleted
        ) VALUES (
          #{name}, #{type}, #{sort}, #{displayName}, #{handler},
          #{pid}, #{createTime}, #{deleted}
        )
    </insert>

    <update id="update" parameterType="ResourceDO">
        UPDATE resource
        <set>
            <if test="name != null">
                name = #{name},
            </if>
            <if test="sort != null">
                sort = #{sort},
            </if>
            <if test="displayName != null">
                display_name = #{displayName},
            </if>
            <if test="pid != null">
                pid = #{pid},
            </if>
            <if test="handler != null">
                handler = #{handler},
            </if>
            <if test="deleted != null">
                deleted = #{deleted}
            </if>
        </set>
        WHERE id = #{id}
    </update>

128
</mapper>