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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?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.gen.dao.GenTableDao">
    
    <sql id="genTableColumns">
        a.*
    </sql>
    
    <sql id="genTableJoins">
        
    </sql>
    
    <select id="get" resultType="GenTable">
        SELECT 
            <include refid="genTableColumns"/>
        FROM gen_table a
        <include refid="genTableJoins"/>
        WHERE a.id = #{id}
    </select>
    
    <select id="findList" resultType="GenTable">
        SELECT 
            <include refid="genTableColumns"/>
        FROM gen_table a
        <include refid="genTableJoins"/>
        WHERE a.del_flag = #{DEL_FLAG_NORMAL} 
        <if test="name != null and name != ''">
            AND a.name = #{name}
        </if>
        <if test="nameLike != null and nameLike != ''">
            AND a.name LIKE 
                <if test="dbName == 'oracle'">'%'||#{nameLike}||'%'</if>
                <if test="dbName == 'mssql'">'%'+#{nameLike}+'%'</if>
                <if test="dbName == 'mysql'">concat('%',#{nameLike},'%')</if>
        </if>
        <if test="comments != null and comments != ''">
            AND a.comments LIKE 
                <if test="dbName == 'oracle'">'%'||#{comments}||'%'</if>
                <if test="dbName == 'mssql'">'%'+#{comments}+'%'</if>
                <if test="dbName == 'mysql'">concat('%',#{comments},'%')</if>
        </if>
        <if test="parentTable != null and parentTable != ''">
            AND a.parent_table = #{parentTable}
        </if>
        <choose>
            <when test="page.orderBy != null and page.orderBy != ''">
                ORDER BY ${page.orderBy}
            </when>
            <otherwise>
                ORDER BY a.name ASC
            </otherwise>
        </choose>
    </select>
    <select id="findAllList" resultType="GenTable">
        SELECT 
            <include refid="genTableColumns"/>
        FROM gen_table a
        <include refid="genTableJoins"/>
        WHERE a.del_flag = #{DEL_FLAG_NORMAL}
        <choose>
            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
                ORDER BY ${page.orderBy}
            </when>
            <otherwise>
                ORDER BY a.name ASC
            </otherwise>
        </choose>
    </select>
    
    <insert id="insert">
        INSERT INTO gen_table(
            id, 
            name, 
            comments, 
            table_type,
            class_name, 
            parent_table, 
            parent_table_fk, 
            create_by, 
            create_date, 
            update_by, 
            update_date, 
            remarks, 
            del_flag,
            issync
        ) VALUES (
            #{id}, 
            #{name}, 
            #{comments},
            #{tableType}, 
            #{className}, 
            #{parentTable}, 
            #{parentTableFk}, 
            #{createBy.id}, 
            #{createDate}, 
            #{updateBy.id}, 
            #{updateDate}, 
            #{remarks}, 
            #{delFlag},
            #{isSync}
        )
    </insert>
    
    <update id="update">
        UPDATE gen_table SET <!-- 
            name = #{name},  -->
            comments = #{comments}, 
            table_type = #{tableType},
            class_name = #{className}, 
            parent_table = #{parentTable}, 
            parent_table_fk = #{parentTableFk}, 
            update_by = #{updateBy.id}, 
            update_date = #{updateDate}, 
            remarks = #{remarks},
            issync = #{isSync}
        WHERE id = #{id}
    </update>
    
    <update id="delete">
        DELETE FROM gen_table 
        WHERE id = #{id}
    </update>
    
    <update id="deleteByLogic">
        UPDATE gen_table SET 
            del_flag = #{DEL_FLAG_DELETE}
        WHERE id = #{id}
    </update>
    
    <update id="buildTable" statementType="STATEMENT">  
        ${sql}
    </update>
    
    <!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
    <select id="findUniqueByProperty" resultType="GenTable" statementType="STATEMENT">
        select * FROM gen_table  where ${propertyName} = '${value}'
    </select>
    
</mapper>