Skip to content

Commit adc787e

Browse files
committed
update mapper.java.vm
1 parent f78a7c2 commit adc787e

File tree

3 files changed

+73
-15
lines changed

3 files changed

+73
-15
lines changed

src/main/java/cn/devcxl/generator/CodeGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public static void main(String[] args) {
5252
VelocityContext context = VelocityUtils.prepareContext(configuration, entityInfo);
5353

5454

55-
String template = "templates/java/query.java.vm" ;
55+
String template = "templates/java/mapper.java.vm" ;
5656
StringWriter sw = new StringWriter();
5757
Template tpl = Velocity.getTemplate(template, Velocity.ENCODING_DEFAULT);
5858
tpl.merge(context, sw);

src/main/resources/templates/java/mapper.java.vm

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,62 @@ import java.util.List;
55
import ${packageName}.domain.${ClassName};
66
import ${packageName}.domain.param.Query${ClassName};
77
import cn.devcxl.common.base.PageRequest;
8+
import ${primaryKeyField.fieldType.javaType};
89

910
/**
10-
* ${functionName}Mapper接口
11+
* ${entity.name}Mapper接口
1112
*
1213
* @author ${author}
1314
* @date ${datetime}
1415
*/
1516
public interface ${ClassName}Mapper {
17+
1618
/**
1719
* 查询${ClassName}列表
1820
*
19-
* @param ${className} ${functionName}
21+
* @param query${ClassName} ${entity.name}列表查询条件
22+
* @param pageRequest 分页查询参数
2023
* @return ${ClassName}集合
2124
*/
2225
List<${ClassName}> page(Query${ClassName} query${ClassName}, PageRequest pageRequest);
2326

2427

28+
/**
29+
* 插入${ClassName}全部数据
30+
* @return
31+
*/
32+
int insert(${ClassName} ${className});
33+
34+
35+
/**
36+
* 插入${ClassName}必需数据
37+
* @return
38+
*/
39+
int insertRequired(${ClassName} ${className});
40+
41+
42+
/**
43+
* 根据${ClassName}的ID删除数据
44+
* @return
45+
*/
46+
int delete(${primaryKeyField.fieldType.javaShortType} id);
47+
48+
/**
49+
* 根据${ClassName}的ID修改数据
50+
* @return
51+
*/
52+
int update(${ClassName} ${className});
53+
54+
/**
55+
* 根据${ClassName}的ID查询数据
56+
* @return
57+
*/
58+
${ClassName} getById(${primaryKeyField.fieldType.javaShortType} id);
59+
2560
/**
2661
* 查询${ClassName}列表的统计数量
27-
* @param query
28-
* @param pageRequest
62+
* @param query${ClassName} ${entity.name}列表查询条件
63+
* @param pageRequest 分页查询参数
2964
* @return 统计数量
3065
*/
3166
Long count(Query${ClassName} query${ClassName}, PageRequest pageRequest);

src/main/resources/templates/xml/mapper.xml.vm

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#end
99
</resultMap>
1010

11-
<select id="page" parameterType="${packageName}.domain.${ClassName}" resultMap="${ClassName}Result">
11+
<select id="page" resultMap="${ClassName}Result">
1212
select #foreach($field in $fields)`$field.name`#if($foreach.hasNext),#end#end from `${tableName}`
1313
<where>
1414
#foreach($field in $fields)
@@ -43,6 +43,38 @@
4343
#end
4444
</select>
4545

46+
<select id="count" resultMap="${ClassName}Result">
47+
select count(1) from `${tableName}`
48+
<where>
49+
#foreach($field in $fields)
50+
#set($queryType=$field.queryType)
51+
#set($javaField=$field.javaField)
52+
#set($javaType=$field.fieldType.javaShortType)
53+
#set($columnName=$field.name)
54+
#set($AttrName=$javaField.substring(0,1).toUpperCase() + ${javaField.substring(1)})
55+
#if($field.query)
56+
#if($field.queryType == "EQ")
57+
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and `$columnName` = #{$javaField}</if>
58+
#elseif($queryType == "NE")
59+
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and `$columnName` != #{$javaField}</if>
60+
#elseif($queryType == "GT")
61+
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and `$columnName` &gt; #{$javaField}</if>
62+
#elseif($queryType == "GTE")
63+
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and `$columnName` &gt;= #{$javaField}</if>
64+
#elseif($queryType == "LT")
65+
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and `$columnName` &lt; #{$javaField}</if>
66+
#elseif($queryType == "LTE")
67+
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and `$columnName` &lt;= #{$javaField}</if>
68+
#elseif($queryType == "LIKE")
69+
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and `$columnName` like concat('%', #{$javaField}, '%')</if>
70+
#elseif($queryType == "BETWEEN")
71+
<if test="begin$AttrName != null and begin$AttrName != '' and end$AttrName != null and end$AttrName != ''"> and `$columnName` between #{begin$AttrName} and #{end$AttrName}</if>
72+
#end
73+
#end
74+
#end
75+
</where>
76+
</select>
77+
4678
<!-- 增加 -->
4779
<insert id="insert" parameterType="${packageName}.domain.${ClassName}">
4880
INSERT INTO `${tableName}` (#foreach($field in $fields)`$field.name`#if($foreach.hasNext),#end#end)
@@ -79,15 +111,6 @@
79111
SELECT * FROM `${tableName}` WHERE id = #{id}
80112
</select>
81113

82-
<!-- 分页查询用户列表 -->
83-
<select id="getUsersByPage" parameterType="map" resultType="${packageName}.domain.${ClassName}">
84-
SELECT *
85-
FROM `${tableName}`
86-
WHERE is_deleted = 0
87-
ORDER BY id
88-
LIMIT #{start}, #{pageSize}
89-
</select>
90-
91114
<!-- 批量虚拟删除 -->
92115
<update id="batchDelete" parameterType="list">
93116
UPDATE `${tableName}`

0 commit comments

Comments
 (0)