Skip to content

Commit 45d380c

Browse files
committed
|2021.08.07|新增当前模板保持功能,重新生成代码后依然会保持在当前选择模板。<br>新增renren-fast模板。|
|2021.08.05|解决 update 方法语法错误;调整部分语句避免sonarLint告警(感谢@Henry586的PR);<br>add swagger-yml.ftl(感谢@fuuqiu的PR);<br>支持common-mapper&修复entity和plusentity的swagger引包错误(感谢@chentianming11的PR)|
1 parent 6aa41d5 commit 45d380c

File tree

14 files changed

+496
-23
lines changed

14 files changed

+496
-23
lines changed

Diff for: README.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
>generate to many popular templates by ddl-sql/insert-sql/simple json<br>
2323
> 可通过`建表SQL语句``INSERT语句`或者`简单JSON`生成`JPA/JdbcTemplate/Mybatis/MybatisPlus/BeetlSQL/CommonMapper`相关模板代码.
2424
>
25-
>thanks for your using and feedback,I'm inspired by the 600PV every day and github more than 700 stars <br>
26-
> 感谢大家的使用和反馈,每天六百的PV和获得超过七百多的星星是我前进和继续做下去的动力
25+
>thanks for your using and feedback,I'm inspired by the 600PV every day and github more than 900 stars <br>
26+
> 感谢大家的使用和反馈,每天六百的PV和获得超过九百多的星星是我前进和继续做下去的动力
2727
>
2828
>hope everyone can keep good balance on work and life , stay health and safety , be smooth on work as well<br>
2929
> 愿大家可以维持生活和工作平衡,保持健康和安全,祝大家工作顺利!
@@ -60,6 +60,8 @@ Thanks for `JetBrains` providing us the `Licenses for Open Source Development`
6060
# Update Logs
6161
|更新日期|更新内容|
6262
|:----|:----|
63+
|2021.08.07|新增当前模板保持功能,重新生成代码后依然会保持在当前选择模板。<br>新增renren-fast模板。|
64+
|2021.08.05|解决 update 方法语法错误;调整部分语句避免sonarLint告警(感谢@Henry586的PR);<br>add swagger-yml.ftl(感谢@fuuqiu的PR);<br>支持common-mapper&修复entity和plusentity的swagger引包错误(感谢@chentianming11的PR)|
6365
|2021.03.24|修复Mybatis.XML中缺失test=关键字问题。(感谢@BWHN/YUEHUI的反馈)。|
6466
|2021.01.18|OEM信息优化,支持多配置文件模式,支持在application*.yml自定义信息,以及切换local/cdn模式。|
6567
|2021.01.17|生成后自动trim掉前后空格输出。<br>完善ReadMe文档。<br>优化云CDN引入部分。<br>优化returnUtil部分。<br>表明前缀选项(感谢@wwlg的建议)。 <br>是否带字段注释设置(感谢@fengpojian的建议)。<br>优化Mybatis的''!=判断(感谢@zhongsb的建议)。<br>Mybatis-Plus增加Service层(感谢@yf466532479的建议)。 |

Diff for: generator-web/src/main/resources/application-bejson.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ spring:
4747
#mvc:
4848
# static-path-pattern: /statics/**
4949
OEM:
50-
version: 3.1
50+
version: 3.2
5151
header: SQL转Java JPA、MYBATIS实现类代码生成平台
5252
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
5353
title: JAVA在线代码生成

Diff for: generator-web/src/main/resources/application-dev.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ spring:
4747
#mvc:
4848
# static-path-pattern: /statics/**
4949
OEM:
50-
version: 3.1
50+
version: 3.2
5151
header: SQL转Java JPA、MYBATIS实现类代码生成平台
5252
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
5353
title: JAVA代码生成平台

Diff for: generator-web/src/main/resources/application-devtools.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ spring:
4747
#mvc:
4848
# static-path-pattern: /statics/**
4949
OEM:
50-
version: 3.1
50+
version: 3.2
5151
header: SQL转Java JPA、MYBATIS实现类代码生成平台
5252
keywords: sql转实体类,sql转DAO,SQL转service,SQL转JPA实现,SQL转MYBATIS实现
5353
title: JAVA在线代码生成

Diff for: generator-web/src/main/resources/statics/js/main.js

+10-6
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ const vm = new Vue({
6161
},
6262
templates:[{}],
6363
historicalData:[],
64+
currentSelect:'plusentity',
6465
outputStr: "${(value.outputStr)!!}",
6566
outputJson: {}
6667
},
@@ -69,10 +70,13 @@ const vm = new Vue({
6970
setOutputModel: function (event) {
7071
const targetModel = event.target.innerText.trim();
7172
console.log(targetModel);
72-
vm.outputStr=vm.outputJson[targetModel];
73-
$.outputArea.setValue(vm.outputStr.trim());
74-
//console.log(vm.outputStr);
75-
$.outputArea.setSize('auto', 'auto');
73+
vm.currentSelect = targetModel ;
74+
if(vm.outputStr.length>30){
75+
vm.outputStr=vm.outputJson[targetModel];
76+
$.outputArea.setValue(vm.outputStr.trim());
77+
//console.log(vm.outputStr);
78+
$.outputArea.setSize('auto', 'auto');
79+
}
7680
},
7781
//switch HistoricalData
7882
switchHistoricalData: function (event) {
@@ -86,7 +90,7 @@ const vm = new Vue({
8690
}else{
8791
alert("浏览器不支持sessionStorage");
8892
}
89-
vm.outputStr=vm.outputJson["plusentity"].trim();
93+
vm.outputStr=vm.outputJson[vm.currentSelect].trim();
9094
$.outputArea.setValue(vm.outputStr);
9195
//console.log(vm.outputStr);
9296
$.outputArea.setSize('auto', 'auto');
@@ -122,7 +126,7 @@ const vm = new Vue({
122126
//console.log(res.outputJson);
123127
vm.outputJson=res.outputJson;
124128
// console.log(vm.outputJson["bootstrap-ui"]);
125-
vm.outputStr=vm.outputJson["plusentity"].trim();
129+
vm.outputStr=vm.outputJson[vm.currentSelect].trim();
126130
//console.log(vm.outputJson["bootstrap-ui"]);
127131
//console.log(vm.outputStr);
128132
$.outputArea.setValue(vm.outputStr);

Diff for: generator-web/src/main/resources/template.json

+52-12
Original file line numberDiff line numberDiff line change
@@ -177,17 +177,57 @@
177177
},
178178

179179
{
180-
"group": "common-mapper",
181-
"templates": [{
182-
"id": "74",
183-
"name": "tkentity",
184-
"description": "tkentity"
180+
"group": "common-mapper",
181+
"templates": [{
182+
"id": "81",
183+
"name": "tkentity",
184+
"description": "tkentity"
185+
},
186+
{
187+
"id": "82",
188+
"name": "tkmapper",
189+
"description": "tkmapper"
190+
}
191+
]
185192
},
186-
{
187-
"id": "75",
188-
"name": "tkmapper",
189-
"description": "tkmapper"
190-
}
191-
]
192-
}
193+
194+
{
195+
"group": "renren-fast",
196+
"templates": [{
197+
"id": "91",
198+
"name": "menu-sql",
199+
"description": "menu-sql"
200+
},
201+
{
202+
"id": "92",
203+
"name": "vue-list",
204+
"description": "vue-list"
205+
},
206+
{
207+
"id": "93",
208+
"name": "vue-edit",
209+
"description": "vue-edit"
210+
},
211+
{
212+
"id": "94",
213+
"name": "rr-controller",
214+
"description": "rr-controller"
215+
},
216+
{
217+
"id": "95",
218+
"name": "rr-dao",
219+
"description": "rr-dao"
220+
},
221+
{
222+
"id": "96",
223+
"name": "rr-daoxml",
224+
"description": "rr-daoxml"
225+
},
226+
{
227+
"id": "97",
228+
"name": "rr-service",
229+
"description": "rr-service"
230+
}
231+
]
232+
}
193233
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
-- 菜单SQL
2+
INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)
3+
VALUES ('1', '${classInfo.classComment}', 'generator/${classInfo.className?uncap_first}', NULL, '1', 'config', '6');
4+
5+
-- 按钮父菜单ID
6+
set @parentId = @@identity;
7+
8+
-- 菜单对应按钮SQL
9+
INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)
10+
SELECT @parentId, '查看', null, 'generator:${classInfo.className?uncap_first}:list,generator:${classInfo.className?uncap_first}:info', '2', null, '6';
11+
INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)
12+
SELECT @parentId, '新增', null, 'generator:${classInfo.className?uncap_first}:save', '2', null, '6';
13+
INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)
14+
SELECT @parentId, '修改', null, 'generator:${classInfo.className?uncap_first}:update', '2', null, '6';
15+
INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`)
16+
SELECT @parentId, '删除', null, 'generator:${classInfo.className?uncap_first}:delete', '2', null, '6';
17+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<#if isWithPackage?exists && isWithPackage==true>package ${packageName}.controller;</#if>
2+
<#if isAutoImport?exists && isAutoImport==true>
3+
import java.util.Arrays;
4+
import java.util.Map;
5+
6+
import org.apache.shiro.authz.annotation.RequiresPermissions;
7+
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.web.bind.annotation.PathVariable;
9+
import org.springframework.web.bind.annotation.RequestBody;
10+
import org.springframework.web.bind.annotation.RequestMapping;
11+
import org.springframework.web.bind.annotation.RequestParam;
12+
import org.springframework.web.bind.annotation.RestController;
13+
14+
import ${packageName}.entity.${classInfo.className}Entity;
15+
import ${packageName}.service.${classInfo.className}Service;
16+
import ${packageName}.common.utils.PageUtils;
17+
import ${packageName}.common.utils.R;
18+
</#if>
19+
20+
21+
/**
22+
* @description ${classInfo.classComment}控制器
23+
* @author ${authorName}
24+
* @date ${.now?string('yyyy-MM-dd')}
25+
*/
26+
@RestController
27+
@RequestMapping("generator/${classInfo.className?uncap_first}")
28+
public class ${classInfo.className}Controller {
29+
30+
@Autowired
31+
private ${classInfo.className}Service ${classInfo.className?uncap_first}Service;
32+
33+
/**
34+
* 列表
35+
*/
36+
@RequestMapping("/list")
37+
@RequiresPermissions("generator:${classInfo.className?uncap_first}:list")
38+
public R list(@RequestParam Map<String, Object> params){
39+
PageUtils page = ${classInfo.className?uncap_first}Service.queryPage(params);
40+
41+
return R.ok().put("page", page);
42+
}
43+
44+
45+
/**
46+
* 信息
47+
*/
48+
@RequestMapping("/info/{${classInfo.className?uncap_first}Id}")
49+
@RequiresPermissions("generator:${classInfo.className?uncap_first}:info")
50+
public R info(@PathVariable("${classInfo.className?uncap_first}Id") int ${classInfo.className?uncap_first}Id){
51+
${classInfo.className}Entity ${classInfo.className?uncap_first} = ${classInfo.className?uncap_first}Service.getById(${classInfo.className?uncap_first}Id);
52+
53+
return R.ok().put("${classInfo.className?uncap_first}", ${classInfo.className?uncap_first});
54+
}
55+
56+
/**
57+
* 保存
58+
*/
59+
@RequestMapping("/save")
60+
@RequiresPermissions("generator:${classInfo.className?uncap_first}:save")
61+
public R save(@RequestBody ${classInfo.className}Entity ${classInfo.className?uncap_first}){
62+
${classInfo.className?uncap_first}Service.save(${classInfo.className?uncap_first});
63+
64+
return R.ok();
65+
}
66+
67+
/**
68+
* 修改
69+
*/
70+
@RequestMapping("/update")
71+
@RequiresPermissions("generator:${classInfo.className?uncap_first}:update")
72+
public R update(@RequestBody ${classInfo.className}Entity ${classInfo.className?uncap_first}){
73+
${classInfo.className?uncap_first}Service.updateById(${classInfo.className?uncap_first});
74+
75+
return R.ok();
76+
}
77+
78+
/**
79+
* 删除
80+
*/
81+
@RequestMapping("/delete")
82+
@RequiresPermissions("generator:${classInfo.className?uncap_first}:delete")
83+
public R delete(@RequestBody int[] ${classInfo.className?uncap_first}Ids){
84+
${classInfo.className?uncap_first}Service.removeByIds(Arrays.asList(${classInfo.className?uncap_first}Ids));
85+
86+
return R.ok();
87+
}
88+
89+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<#if isWithPackage?exists && isWithPackage==true>package ${packageName}.mapper;</#if>
2+
<#if isAutoImport?exists && isAutoImport==true>
3+
import ${packageName}.entity.${classInfo.className}Entity;
4+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5+
import org.apache.ibatis.annotations.Mapper;
6+
</#if>
7+
/**
8+
* @description ${classInfo.classComment}Mapper
9+
* @author ${authorName}
10+
* @date ${.now?string('yyyy-MM-dd')}
11+
*/
12+
@Mapper
13+
public interface ${classInfo.className}Dao extends BaseMapper<${classInfo.className}Entity> {
14+
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3+
4+
<mapper namespace="${packageName}.dao.${classInfo.className}Dao">
5+
6+
<!-- 可根据自己的需求,是否要使用 -->
7+
<resultMap type="${packageName}.entity.${classInfo.className}Entity" id="${classInfo.className}Map">
8+
<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0>
9+
<#list classInfo.fieldList as fieldItem >
10+
<result property="${fieldItem.fieldName}" column="${fieldItem.fieldName}"/>
11+
</#list>
12+
</#if>
13+
</resultMap>
14+
15+
</mapper>

Diff for: generator-web/src/main/resources/templates/code-generator/renren-fast/rr-entity.ftl

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<#if isWithPackage?exists && isWithPackage==true>package ${packageName}.service;</#if>
2+
<#if isAutoImport?exists && isAutoImport==true>
3+
import org.springframework.stereotype.Service;
4+
import java.util.Map;
5+
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6+
import com.baomidou.mybatisplus.core.metadata.IPage;
7+
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8+
import ${packageName}.common.utils.PageUtils;
9+
import ${packageName}.common.utils.Query;
10+
11+
import ${packageName}.dao.${classInfo.className}Dao;
12+
import ${packageName}.entity.${classInfo.className}Entity;
13+
</#if>
14+
15+
@Service("${classInfo.className?uncap_first}Service")
16+
public class ${classInfo.className}Service extends ServiceImpl<${classInfo.className}Dao, ${classInfo.className}Entity> {
17+
18+
@Override
19+
public PageUtils queryPage(Map<String, Object> params) {
20+
IPage<${classInfo.className}Entity> page = this.page(
21+
new Query<${classInfo.className}Entity>().getPage(params),
22+
new QueryWrapper<${classInfo.className}Entity>()
23+
);
24+
25+
return new PageUtils(page);
26+
}
27+
28+
}

0 commit comments

Comments
 (0)