liuxiaolong
2019-05-09 0d1d88cdb668e75ea8609417ac18ae19947e9525
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?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.jeeplus.modules.sys.dao.DictDao">
    
    <select id="get" resultType="Dict">
        SELECT 
            * 
        FROM sys_dict 
        WHERE id = #{id}
    </select>
    
    <select id="findList" resultType="Dict">
        SELECT 
            * 
        FROM sys_dict 
        WHERE del_flag = #{DEL_FLAG_NORMAL} 
        <if test="type != null and type != ''">
            AND type = #{type}
        </if>
        <if test="description != null and description != ''">
            AND description LIKE 
                    <if test="dbName == 'oracle'">'%'||#{description}||'%'</if>
                    <if test="dbName == 'mysql'">CONCAT('%', #{description}, '%')</if>
        </if>
        <choose>
            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
                ORDER BY ${page.orderBy}
            </when>
            <otherwise>
                ORDER BY update_date DESC
            </otherwise>
        </choose>
    </select>
    
    <select id="findAllList" resultType="Dict">
        SELECT 
            * 
        FROM sys_dict 
        WHERE del_flag = #{DEL_FLAG_NORMAL} 
        ORDER BY type, sort, update_date DESC
    </select>
    
    <select id="findTypeList" resultType="string">
        SELECT 
            type 
        FROM sys_dict 
        WHERE del_flag = #{DEL_FLAG_NORMAL} 
        GROUP BY type
        ORDER BY type
    </select>
    
    <insert id="insert">
        INSERT INTO sys_dict(
            id, 
            value, 
            label, 
            type, 
            description, 
            sort, 
            create_by, 
            create_date, 
            update_by, 
            update_date, 
            remarks, 
            del_flag
        ) VALUES (
            #{id}, 
            #{value}, 
            #{label}, 
            #{type}, 
            #{description}, 
            #{sort}, 
            #{createBy.id}, 
            #{createDate}, 
            #{updateBy.id}, 
            #{updateDate}, 
            #{remarks}, 
            #{delFlag}
        )
    </insert>
    
    <update id="update">
        UPDATE sys_dict SET 
            value = #{value}, 
            label = #{label}, 
            type = #{type}, 
            description = #{description}, 
            sort = #{sort}, 
            update_by = #{updateBy.id}, 
            update_date = #{updateDate}, 
            remarks = #{remarks}
        WHERE id = #{id}
    </update>
    
    <update id="delete">
        DELETE FROM sys_dict 
        WHERE id = #{id}
    </update>
    
    <update id="deleteByLogic">
        UPDATE sys_dict SET 
            del_flag = #{DEL_FLAG_DELETE}
        WHERE id = #{id}
    </update>
    
</mapper>