From 40b052d1645c9b37f44e73d349c210511e96d51d Mon Sep 17 00:00:00 2001 From: "moshowgame@126.com" Date: Thu, 13 Sep 2018 15:23:47 +0800 Subject: [PATCH] new jpa controller mode --- .../generator/controller/IndexController.java | 5 +- .../src/main/resources/static/js/index.js | 14 ++++ .../src/main/resources/templates/index.ftl | 52 ++++++++------ .../xxl-code-generator/jpacontroller.ftl | 71 +++++++++++++++++++ 4 files changed, 118 insertions(+), 24 deletions(-) create mode 100644 generator-web/src/main/resources/templates/xxl-code-generator/jpacontroller.ftl diff --git a/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java b/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java index 306e4d9..5daae1c 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java +++ b/generator-web/src/main/java/com/softdev/system/generator/controller/IndexController.java @@ -8,6 +8,7 @@ import freemarker.template.TemplateException; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -26,7 +27,7 @@ import java.util.Map; public class IndexController { private static final Logger logger = LoggerFactory.getLogger(IndexController.class); - @Resource + @Autowired private FreemarkerTool freemarkerTool; @RequestMapping("/") @@ -65,6 +66,8 @@ public class IndexController { result.put("entity_code", freemarkerTool.processString("xxl-code-generator/entity.ftl", params)); result.put("repository_code", freemarkerTool.processString("xxl-code-generator/repository.ftl", params)); + result.put("jpacontroller_code", freemarkerTool.processString("xxl-code-generator/jpacontroller.ftl", params)); + // 计算,生成代码行数 int lineNum = 0; for (Map.Entry item: result.entrySet()) { diff --git a/generator-web/src/main/resources/static/js/index.js b/generator-web/src/main/resources/static/js/index.js index 9172ff7..bf97e8f 100644 --- a/generator-web/src/main/resources/static/js/index.js +++ b/generator-web/src/main/resources/static/js/index.js @@ -30,7 +30,18 @@ $(function () { var model_ide; var entity_ide; var repository_ide; + var jpacontroller_ide; function initCodeArea(){ + jpacontroller_ide = CodeMirror.fromTextArea(document.getElementById("jpacontroller_ide"), { + lineNumbers: true, + matchBrackets: true, + mode: "text/x-java", + lineWrapping:true, + readOnly:true, + foldGutter: true, + gutters:["CodeMirror-linenumbers", "CodeMirror-foldgutter"] + }); + jpacontroller_ide.setSize('auto','auto'); // controller_ide controller_ide = CodeMirror.fromTextArea(document.getElementById("controller_ide"), { @@ -173,6 +184,9 @@ $(function () { repository_ide.setValue(data.data.repository_code); repository_ide.setSize('auto','auto'); + + jpacontroller_ide.setValue(data.data.jpacontroller_code); + jpacontroller_ide.setSize('auto','auto'); } }); } else { diff --git a/generator-web/src/main/resources/templates/index.ftl b/generator-web/src/main/resources/templates/index.ftl index bf64ef9..8b656de 100644 --- a/generator-web/src/main/resources/templates/index.ftl +++ b/generator-web/src/main/resources/templates/index.ftl @@ -51,7 +51,36 @@ CREATE TABLE `userinfo` ( + <#-- JPA生成代码 --> + <#-- Mybatis生成代码 --> - <#-- JPA生成代码 --> - diff --git a/generator-web/src/main/resources/templates/xxl-code-generator/jpacontroller.ftl b/generator-web/src/main/resources/templates/xxl-code-generator/jpacontroller.ftl new file mode 100644 index 0000000..4119c83 --- /dev/null +++ b/generator-web/src/main/resources/templates/xxl-code-generator/jpacontroller.ftl @@ -0,0 +1,71 @@ +import org.springframework.stereotype.RestController; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.ExampleMatcher; +import org.springframework.data.domain.PageRequest; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** +* ${classInfo.classComment} +* +* Created by by-health on '${.now?string('yyyy-MM-dd HH:mm:ss')}'. +*/ +@RestController +@RequestMapping("/${classInfo.className?uncap_first}") +public class ${classInfo.className}Controller { + + @Autowired + private ${classInfo.className}Respository ${classInfo.className?uncap_first}Respository; + + /** + * 新增或编辑 + */ + @RequestMapping("/save") + public Object save(${classInfo.className} ${classInfo.className?uncap_first}){ + return ${classInfo.className?uncap_first}Respository.save(${classInfo.className?uncap_first}); + } + + /** + * 删除 + */ + @RequestMapping("/delete") + public Object delete(int id){ + return ${classInfo.className?uncap_first}Respository.deleteById(id); + } + + /** + * 查询 + */ + @RequestMapping("/find") + public Object load(int id){ + return ${classInfo.className?uncap_first}Respository.findById(id); + } + + /** + * 分页查询 + */ + @RequestMapping("/list") + public Object list(${classInfo.className} ${classInfo.className?uncap_first}, + @RequestParam(required = false, defaultValue = "0") int pageNumber, + @RequestParam(required = false, defaultValue = "10") int pageSize) { + +//创建匹配器,即如何使用查询条件 + ExampleMatcher matcher = ExampleMatcher.matching() //构建对象 + //这里追加查询处理方式。例如xxx字段采用“包含”的方式查询 + //.withMatcher("xxx", GenericPropertyMatchers.contains()) + ; + + //创建实例 + Example<${classInfo.className}> ex = Example.of(${classInfo.className?uncap_first}, matcher); + //分页构造 + Pageable pageable = PageRequest.of(pageNumber,pageSize); + + return ${classInfo.className?uncap_first}Respository.findAll(matcher, pageable); + } + +}