1- #set ($entityType = "${model.entityPkg}.${model.table.className}")
21#macro(name $rawName)
32${rawName.substring(0,1).toLowerCase()}${rawName.substring(1)}##
43#end
5- <?xml version="1.0" encoding="UTF-8" ?>
6- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
7- <mapper namespace="${model.repoPkg}.${model.table.className}Mapper">
8- <sql id="TableName">
9- ${model.table.name}
10- </sql>
11-
12- <sql id="BaseColumnList">
13- #foreach($column in $model.table.columns)##
14- #if($foreach.first) #end
15- `${column.name}`##
16- #if($foreach.hasNext ), #end##
17- #end
4+ package $model.repoPkg;
185
19- </sql>
6+ import ${model.entityPkg}.${model.table.className};
7+ import org.apache.ibatis.annotations.Param;
8+ import java.util.List;
209
21- <resultMap id="BaseResultMap" type="${entityType}" autoMapping="false">
22- #foreach($column in $model.table.columns)
23- <result column="$column.name" property="$column.fieldName" jdbcType="$column.jdbcType"/>
24- #end
25- </resultMap>
26-
27- <insert id="insert"#if($model.table.pks.size()) useGeneratedKeys="true" keyProperty="#name(${model.table.className}).${model.table.pks.get(0).fieldName}"#end>
28- INSERT INTO
29- <include refid="TableName"/>
30- <trim prefix="(" suffix=")" suffixOverrides=",">
31- #foreach($column in $model.table.columns)
32- `${column.name}`,
10+ /**
11+ * ${model.table.className}Mapper
12+ */
13+ public interface ${model.table.className}Mapper{
14+ /**
15+ *##
16+ #if($model.deleteColumn)
17+ logical delete
18+ #else
19+ physical delete
3320#end
21+ * @param id
22+ * @return
23+ */
24+ int deleteByPrimaryKey(#foreach($column in $model.table.pks)##
25+ @Param("${column.fieldName}") ${column.javaType} ${column.fieldName}##
26+ #if($foreach.hasNext ), #end##
27+ #end);
3428
35- </trim>
36- <trim prefix="VALUES(" suffix=")" suffixOverrides=",">
37- #foreach($column in $model.table.columns)##
38- #if($column.name != 'create_time' && $column.name != 'update_time')
39- #{#name(${model.table.className}).${column.fieldName},jdbcType=${column.jdbcType}},
40- #end
41- #if($column.name == 'create_time' || $column.name == 'update_time')
42- now(),
43- #end
44- #end
4529
46- </trim>
47- </insert>
48-
49- <insert id="insertSelective"#if($model.table.pks.size()) useGeneratedKeys="true" keyProperty="#name(${model.table.className}).${model.table.pks.get(0).fieldName}"#end>
50- INSERT INTO
51- <include refid="TableName"/>
52- <trim prefix="(" suffix=")" suffixOverrides=",">
53- #foreach($column in $model.table.columns)##
54- #if($column.name != 'create_time' && $column.name != 'update_time')
55- <if test="#name(${model.table.className}).${column.fieldName} != null">
56- `${column.name}`,
57- </if>
58- #end
59- #if($column.name == 'create_time' || $column.name == 'update_time')
60- `${column.name}`,
61- #end
62- #end
30+ ${model.table.className} selectByPrimaryKey(#foreach($column in $model.table.pks)##
31+ @Param("${column.fieldName}") ${column.javaType} ${column.fieldName}##
32+ #if($foreach.hasNext ), #end##
33+ #end);
6334
64- </trim>
65- <trim prefix="VALUES(" suffix=")" suffixOverrides=",">
66- #foreach($column in $model.table.columns)##
67- #if($column.name != 'create_time' && $column.name != 'update_time')
68- <if test="#name(${model.table.className}).${column.fieldName} != null">
69- #{#name(${model.table.className}).${column.fieldName},jdbcType=${column.jdbcType}},
70- </if>
71- #end
72- #if($column.name == 'create_time' || $column.name == 'update_time')
73- now(),
74- #end
75- #end
7635
77- </trim>
78- </insert>
79-
80- <select id="selectByPrimaryKey" resultMap="BaseResultMap">
81- select
82- <include refid="BaseColumnList"/>
83- from
84- <include refid="TableName"/>
85- where
86- #foreach($column in $model.table.pks)
87- `${column.name}` = #{${column.fieldName}}
88- #if($foreach.hasNext)
89- and
90- #end
91- #end
92- </select>
36+ /**
37+ * insert entity
38+ * @param #name(${model.table.className})
9339
40+ * @return
41+ */
42+ int insert(@Param("#name(${model.table.className})") ${model.table.className} #name(${model.table.className}));
9443
95- #if($model.deleteColumn)
96- <update id="deleteByPrimaryKey">
97- update
98- <include refid="TableName"/>
99- set ${model.deleteColumn.name} = 1
100- where
101- #foreach($column in $model.table.pks)
102- `${column.name}` = #{${column.fieldName}}
103- #if($foreach.hasNext)
104- and
105- #end
106- #end
107- </update>
108- #else
109- <delete id="deleteByPrimaryKey">
110- DELETE from
111- <include refid="TableName"/>
112- where
113- #foreach($column in $model.table.pks)
114- `${column.name}` = #{${column.fieldName}}
115- #if($foreach.hasNext)
116- and
117- #end
118- #end
119- </delete>
120- #end
44+ /**
45+ * insert entity selective.
46+ * @param #name(${model.table.className})
12147
122- <update id="updateByPrimaryKey">
123- update
124- <include refid="TableName"/>
125- set
126- <trim suffixOverrides=",">
127- #foreach($column in $model.table.columns)##
128- #if(!$column.PK && $column.name != 'create_time' && $column.name != 'update_time' && $column.name != $model.versionColumn.name)
129- `${column.name}` = #{#name(${model.table.className}).${column.fieldName},jdbcType=${column.jdbcType}},
130- #end##
131- #if($column.name == 'update_time')
132- `${column.name}` = now(),
133- #end
134- #end
135- #if($model.versionColumn)
136- `${model.versionColumn.name}` = `${model.versionColumn.name}` + 1,
137- #end
138- </trim>
139- where
140- #foreach($column in $model.table.pks)
141- `${column.name}` = #{#name(${model.table.className}).${column.fieldName}}
142- #if($foreach.hasNext)
143- and
144- #end
145- #end
146- #if($model.versionColumn)
147- and `${model.versionColumn.name}` = #{#name(${model.table.className}).${model.versionColumn.fieldName},jdbcType=${model.versionColumn.jdbcType}}
148- #end
149- </update>
150-
151- <update id="updateByPrimaryKeySelective">
152- update
153- <include refid="TableName"/>
154- set
155- <trim suffixOverrides=",">
156- #foreach($column in $model.table.columns)##
157- #if(!$column.PK && $column.name != 'create_time' && $column.name != 'update_time' && $column.name != $model.versionColumn.name)
158- <if test="#name(${model.table.className}).${column.fieldName} != null">
159- `${column.name}` = #{#name(${model.table.className}).${column.fieldName},jdbcType=${column.jdbcType}},
160- </if>
161- #if($column.jdbcType == 'TIMESTAMP')
162- <if test="#name(${model.table.className}).${column.fieldName} == null">
163- `${column.name}` = '0000-00-00 00:00:00',
164- </if>
165- #end
166- #end##
167- #if($column.name == 'update_time')
168- `${column.name}` = now(),
169- #end
170- #end
48+ * @return
49+ */
50+ int insertSelective(@Param("#name(${model.table.className})") ${model.table.className} #name(${model.table.className}));
51+
52+
53+ /**
54+ *##
17155#if($model.versionColumn)
172- `${model.versionColumn.name}` = `${model.versionColumn.name}` + 1,
173- #end
174- </trim>
175- where
176- #foreach($column in $model.table.pks)
177- `${column.name}` = #{#name(${model.table.className}).${column.fieldName}}
178- #if($foreach.hasNext)
179- and
180- #end
56+ update with optimistic lock
57+ #else
58+ update
18159#end
60+ * @param #name(${model.table.className})
61+
62+ * @return
63+ */
64+ int updateByPrimaryKey(@Param("#name(${model.table.className})") ${model.table.className} #name(${model.table.className}));
65+
66+ /**
67+ *##
18268#if($model.versionColumn)
183- and `${model.versionColumn.name}` = #{#name(${model.table.className}).${model.versionColumn.fieldName},jdbcType=${model.versionColumn.jdbcType}}
184- #end
185- </update>
69+ update with optimistic lock##
70+ #else
71+ update##
72+ #end selective
73+ * @param #name(${model.table.className})
74+
75+ * @return
76+ */
77+ int updateByPrimaryKeySelective(@Param("#name(${model.table.className})") ${model.table.className} #name(${model.table.className}));
78+
18679
187- <!-- The above part of the comment is auto generated, the following part is written by the user, please do not delete this comment. -->
80+ /** The above part of the comment is auto generated, the following part is written by the user, please do not delete this comment. */
18881
189- </mapper>
82+ }
0 commit comments