Skip to content

Commit 65702f9

Browse files
committed
feat:模板新增${table.label}变量
1 parent 4f4bdfd commit 65702f9

File tree

14 files changed

+414
-6
lines changed

14 files changed

+414
-6
lines changed

changelog.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# changelog
22

3+
## 1.5.4.2
4+
- 新增swagger风格模板
5+
- 模板新增${table.label}变量
6+
- 修复生成表字段后顺序不对的情况
7+
38
## 1.5.4.1
49
- 前端:调整数据源呈现格式
510
- 前端:生成结果页面新增再次生成,方便修改模板时调试生成结果

front/public/velocity/csharp.json

+4
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@
103103
{
104104
"expression": "${table.schema}",
105105
"text": "PostgreSQL中的Schema"
106+
},
107+
{
108+
"expression": "${table.label}",
109+
"text": "返回表注释,没有则返回表名"
106110
}
107111
]
108112
},

front/public/velocity/java.json

+4
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@
119119
{
120120
"expression": "${table.schema}",
121121
"text": "PostgreSQL中的Schema"
122+
},
123+
{
124+
"expression": "${table.label}",
125+
"text": "返回表注释,没有则返回表名"
122126
}
123127
]
124128
},

gen/src/main/java/com/gitee/gen/gen/TableDefinition.java

+9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.gitee.gen.gen;
22

33
import com.fasterxml.jackson.annotation.JsonIgnore;
4+
import org.springframework.util.StringUtils;
45

56
import java.time.LocalDate;
67
import java.time.LocalDateTime;
@@ -45,6 +46,14 @@ public TableDefinition(String tableName) {
4546
this.tableName = tableName;
4647
}
4748

49+
/**
50+
* 返回表注释,没有则返回表名
51+
* @return
52+
*/
53+
public String getLabel() {
54+
return StringUtils.hasLength(comment) ? comment : tableName;
55+
}
56+
4857
/**
4958
* 是否有时间字段
5059
*

template/common/controller.vm

+3-3
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class ${context.javaBeanName}Controller {
4343
}
4444

4545
/**
46-
* 新增(忽略null字段)
46+
* 新增
4747
*
4848
* @param ${context.javaBeanNameLF} 新增的记录
4949
* @return 返回影响行数
@@ -54,7 +54,7 @@ public class ${context.javaBeanName}Controller {
5454
}
5555

5656
/**
57-
* 修改(忽略null字段)
57+
* 修改
5858
*
5959
* @param ${context.javaBeanNameLF} 修改的记录
6060
* @return 返回影响行数
@@ -67,7 +67,7 @@ public class ${context.javaBeanName}Controller {
6767
/**
6868
* 删除记录
6969
*
70-
* @param ${context.javaBeanNameLF} 待删除的记录
70+
* @param ${pk.javaFieldName} 待删除的记录
7171
* @return 返回影响行数
7272
*/
7373
@DeleteMapping("delete")

template/common/mapper.vm

+4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
<!-- Table:${table.tableName}-->
77
<resultMap id="BaseResultMap" type="${context.packageName}.entity.${context.javaBeanName}">
88
#foreach($column in $columns)
9+
#if(${column.isIdentityPk})
10+
<id column="${column.columnName}" property="${column.javaFieldName}"/>
11+
#else
912
<result column="${column.columnName}" property="${column.javaFieldName}"/>
13+
#end
1014
#end
1115
</resultMap>
1216

template/restful/controller.vm

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public class ${context.javaBeanName}Controller {
4444
}
4545

4646
/**
47-
* 新增(忽略null字段)
47+
* 新增
4848
*
4949
* @param ${context.javaBeanNameLF} 新增的记录
5050
* @return 返回影响行数
@@ -55,7 +55,7 @@ public class ${context.javaBeanName}Controller {
5555
}
5656

5757
/**
58-
* 修改(忽略null字段)
58+
* 修改
5959
*
6060
* @param ${context.javaBeanNameLF} 修改的记录
6161
* @return 返回影响行数
@@ -68,7 +68,7 @@ public class ${context.javaBeanName}Controller {
6868
/**
6969
* 删除记录
7070
*
71-
* @param ${context.javaBeanNameLF} 待删除的记录
71+
* @param ${pk.javaFieldName} 待删除的记录
7272
* @return 返回影响行数
7373
*/
7474
@DeleteMapping

template/restful/mapper.vm

+4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
<!-- Table:${table.tableName}-->
77
<resultMap id="BaseResultMap" type="${context.packageName}.entity.${context.javaBeanName}">
88
#foreach($column in $columns)
9+
#if(${column.isIdentityPk})
10+
<id column="${column.columnName}" property="${column.javaFieldName}"/>
11+
#else
912
<result column="${column.columnName}" property="${column.javaFieldName}"/>
13+
#end
1014
#end
1115
</resultMap>
1216

template/swagger/controller.vm

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
## filename=${context.javaBeanName}Controller.java, folder=
2+
package ${context.packageName}.controller;
3+
4+
import ${context.packageName}.entity.${context.javaBeanName};
5+
import ${context.packageName}.service.${context.javaBeanName}Service;
6+
import io.swagger.annotations.Api;
7+
import io.swagger.annotations.ApiOperation;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.web.bind.annotation.*;
10+
11+
import java.util.List;
12+
13+
/**
14+
* ${context.javaBeanName}Controller.
15+
*
16+
* @author ${context.author}
17+
* @date ${context.date}
18+
* @description
19+
*/
20+
@RestController
21+
@RequestMapping("/${context.javaBeanNameLF}")
22+
@Api(tags = "${context.javaBeanName}-Controller", value = "${table.label}Controller")
23+
public class ${context.javaBeanName}Controller {
24+
25+
@Autowired
26+
private ${context.javaBeanName}Service ${context.javaBeanNameLF}Service;
27+
28+
/**
29+
* 查询所有记录
30+
*
31+
* @return 返回集合,没有返回空List
32+
*/
33+
@ApiOperation("查询所有记录")
34+
@GetMapping
35+
public List<${context.javaBeanName}> listAll() {
36+
return ${context.javaBeanNameLF}Service.listAll();
37+
}
38+
39+
/**
40+
* 根据主键查询
41+
*
42+
* @param id 主键
43+
* @return 返回记录,没有返回null
44+
*/
45+
@ApiOperation("根据主键查询")
46+
@GetMapping("/{id}")
47+
public ${context.javaBeanName} getById(@PathVariable ${pk.javaTypeBox} id) {
48+
return ${context.javaBeanNameLF}Service.getById(id);
49+
}
50+
51+
/**
52+
* 新增
53+
*
54+
* @param ${context.javaBeanNameLF} 新增的记录
55+
* @return 返回影响行数
56+
*/
57+
@ApiOperation("新增")
58+
@PostMapping
59+
public int insert(@RequestBody ${context.javaBeanName} ${context.javaBeanNameLF}) {
60+
return ${context.javaBeanNameLF}Service.insert(${context.javaBeanNameLF});
61+
}
62+
63+
/**
64+
* 修改
65+
*
66+
* @param ${context.javaBeanNameLF} 修改的记录
67+
* @return 返回影响行数
68+
*/
69+
@ApiOperation("修改")
70+
@PutMapping
71+
public int update(@RequestBody ${context.javaBeanName} ${context.javaBeanNameLF}) {
72+
return ${context.javaBeanNameLF}Service.update(${context.javaBeanNameLF});
73+
}
74+
75+
/**
76+
* 删除记录
77+
*
78+
* @param ${pk.javaFieldName} 待删除的记录
79+
* @return 返回影响行数
80+
*/
81+
@ApiOperation("删除记录")
82+
@DeleteMapping
83+
public int deleteById(${pk.javaTypeBox} ${pk.javaFieldName}) {
84+
return ${context.javaBeanNameLF}Service.deleteById(${pk.javaFieldName});
85+
}
86+
}

template/swagger/dao.vm

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
## filename=${context.javaBeanName}Mapper.java, folder=dao
2+
package ${context.packageName}.mapper;
3+
4+
import org.apache.ibatis.annotations.Mapper;
5+
import ${context.packageName}.entity.${context.javaBeanName};
6+
7+
import java.util.List;
8+
9+
/**
10+
* ${context.javaBeanName}Mapper.
11+
*
12+
* @author ${context.author}
13+
* @date ${context.date}
14+
* @description
15+
*/
16+
@Mapper
17+
public interface ${context.javaBeanName}Mapper {
18+
19+
/**
20+
* 查询所有记录
21+
*
22+
* @return 返回集合,没有返回空List
23+
*/
24+
List<${context.javaBeanName}> listAll();
25+
26+
/**
27+
* 根据主键查询
28+
*
29+
* @param ${pk.javaFieldName} 主键ID
30+
* @return 返回记录,没有返回null
31+
*/
32+
${context.javaBeanName} getById(${pk.javaTypeBox} ${pk.javaFieldName});
33+
34+
/**
35+
* 新增
36+
*
37+
* @param ${context.javaBeanNameLF} 新增的记录
38+
* @return 返回影响行数
39+
*/
40+
int insert(${context.javaBeanName} ${context.javaBeanNameLF});
41+
42+
/**
43+
* 修改(修改所有字段)
44+
*
45+
* @param ${context.javaBeanNameLF} 修改的记录
46+
* @return 返回影响行数
47+
*/
48+
int update(${context.javaBeanName} ${context.javaBeanNameLF});
49+
50+
/**
51+
* 根据主键删除记录
52+
*
53+
* @param ${pk.javaFieldName} 主键ID
54+
* @return 返回影响行数
55+
*/
56+
int deleteById(${pk.javaTypeBox} ${pk.javaFieldName});
57+
}

template/swagger/entity.vm

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
## filename=${context.javaBeanName}.java, folder=
2+
package ${context.packageName}.entity;
3+
4+
import io.swagger.annotations.ApiModel;
5+
import io.swagger.annotations.ApiModelProperty;
6+
import lombok.Data;
7+
import lombok.experimental.Accessors;
8+
9+
#if(${table.hasDateField})
10+
import java.util.Date;
11+
#end
12+
#if(${table.hasLocalDateField})
13+
import java.time.LocalDate;
14+
#end
15+
#if(${table.hasLocalDateTimeField})
16+
import java.time.LocalDateTime;
17+
#end
18+
#if(${table.hasBigDecimalField})
19+
import java.math.BigDecimal;
20+
#end
21+
22+
/**
23+
* ${table.label}.
24+
*
25+
* @author ${context.author}
26+
* @date ${context.date}
27+
* @description
28+
*/
29+
@Data
30+
@Accessors(chain = true)
31+
@ApiModel(value = "${context.javaBeanName}", description = "${table.label}表对象")
32+
public class ${context.javaBeanName} {
33+
#foreach($column in $columns)
34+
@ApiModelProperty("${column.label}")
35+
private ${column.javaTypeBox} ${column.javaFieldName};
36+
#end
37+
}

template/swagger/mapper.vm

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
## filename=${context.javaBeanName}Mapper.xml, folder=mapper
2+
#set($jq="$")
3+
<?xml version="1.0" encoding="UTF-8" ?>
4+
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5+
<mapper namespace="${context.packageName}.mapper.${context.javaBeanName}Mapper">
6+
<!-- Table:${table.tableName}-->
7+
<resultMap id="BaseResultMap" type="${context.packageName}.entity.${context.javaBeanName}">
8+
#foreach($column in $columns)
9+
#if(${column.isIdentityPk})
10+
<id column="${column.columnName}" property="${column.javaFieldName}"/>
11+
#else
12+
<result column="${column.columnName}" property="${column.javaFieldName}"/>
13+
#end
14+
#end
15+
</resultMap>
16+
17+
<!-- 表字段 -->
18+
<sql id="Base_Column_List">
19+
#foreach($column in $columns)#if($velocityCount > 1),#end ${column.columnName}#end
20+
21+
</sql>
22+
23+
<!-- 查询全部 -->
24+
<select id="listAll" resultMap="BaseResultMap">
25+
SELECT
26+
<include refid="Base_Column_List"/>
27+
FROM ${table.tableName}
28+
</select>
29+
30+
<!-- 根据主键获取单条记录 -->
31+
<select id="getById" resultMap="BaseResultMap" parameterType="${pk.javaTypeBox}">
32+
SELECT
33+
<include refid="Base_Column_List"/>
34+
FROM ${table.tableName}
35+
WHERE ${pk.columnName} = #{${pk.javaFieldName}}
36+
</select>
37+
38+
<!-- 插入 -->
39+
<insert id="insert" parameterType="${context.packageName}.entity.${context.javaBeanName}" keyProperty="${context.javaPkName}" keyColumn="${context.pkName}" useGeneratedKeys="true">
40+
INSERT INTO ${table.tableName}
41+
<trim prefix="(" suffix=")" suffixOverrides=",">
42+
#foreach($column in $columns)#if(!${column.isIdentityPk})${column.columnName}, #end#end
43+
44+
</trim>
45+
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
46+
#foreach($column in $columns)#if(!${column.isIdentityPk})#{${column.javaFieldName}}, #end#end
47+
48+
</trim>
49+
</insert>
50+
51+
<!-- 更新 -->
52+
<update id="update" parameterType="${context.packageName}.entity.${context.javaBeanName}">
53+
UPDATE ${table.tableName}
54+
<set>
55+
#foreach($column in $columns)#if(!${column.isPk}) ${column.columnName} = #{${column.javaFieldName}},
56+
#end#end
57+
</set>
58+
WHERE ${pk.columnName} = #{${pk.javaFieldName}}
59+
</update>
60+
61+
<!-- 根据主键删除记录 -->
62+
<delete id="deleteById">
63+
DELETE FROM ${table.tableName} WHERE ${pk.columnName} = #{${pk.javaFieldName}}
64+
</delete>
65+
</mapper>

0 commit comments

Comments
 (0)