diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 00000000..579af95e --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Moshow K ZHENG(Moshow/郑锴/大狼狗) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 18162f6e..b16d9f5a 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,8 @@ |更新日期|更新内容| |-|-| +|20200503|1.优化对特殊字符的处理,对于包含#和$等特殊字符的,在模板使用井和¥代替便可,escapeString方法会自动处理
2.优化mybatisplus实体类相关(感谢@chunchengmeigui的反馈) 3.修优化对所有类型的判断(感谢@cnlw的反馈) 4.移除swagger-entity,该功能已经包含在‘swagger-ui’的下拉选项中 5.升级hutool和lombok版本| +|20200306|1.提交一套layuimini+mybatisplus的模板. 2.修复mybatisplus一些相关问题. | |20200206|1.新增历史记录功能,自动保存最近生成的对象 2.新增swagger开关选项和修复@Column带name参数(感谢@liuyu-struggle的建议) 3.去除mybatis模板中的方括号[]和修改模板里的类注释样式(感谢@gaohanghang的PR)| |20191229|1.修复bejson安全防护策略拦截问题(感谢@liangbintao和@1808083642的反馈) 2.优化字段名含date字符串的处理(感谢@smilexzh的反馈) 3.控制台动态输出项目访问地址(感谢@gaohanghang的提交)| |20191128|1.修复支持string-copy导致的以n结尾的字母不显示问题 2.jpa-entity新增swagger@ApiModel@ApiModelProperty注解和SQL字段@Column注解(感谢@yjq907的建议) | diff --git a/generator-web/src/main/java/com/softdev/system/generator/config/ServerConfig.java b/generator-web/src/main/java/com/softdev/system/generator/config/ServerConfig.java index ada0a1bf..b54673c4 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/config/ServerConfig.java +++ b/generator-web/src/main/java/com/softdev/system/generator/config/ServerConfig.java @@ -15,16 +15,14 @@ public class ServerConfig implements ApplicationListener { private int serverPort; - - public int getPort() { - return this.serverPort; - } + private String serverPath; @Override public void onApplicationEvent(WebServerInitializedEvent event) { this.serverPort = event.getWebServer().getPort(); - //log.info("Get WebServer port {}", serverPort); - log.info("项目启动启动成功!访问地址: http://localhost:{}/generator", serverPort); + //新增动态path by zhengkai + this.serverPath = event.getApplicationContext().getApplicationName(); + log.info("项目启动启动成功!访问地址: http://localhost:{}{}", serverPort,serverPath); } } diff --git a/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java b/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java index 6e601958..b29dce45 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java +++ b/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java @@ -30,6 +30,8 @@ public Map getResultByParams(Map params) throws result.put("swagger-ui", freemarkerTool.processString("code-generator/ui/swagger-ui.ftl", params)); result.put("element-ui", freemarkerTool.processString("code-generator/ui/element-ui.ftl", params)); result.put("bootstrap-ui", freemarkerTool.processString("code-generator/ui/bootstrap-ui.ftl", params)); + result.put("layui-edit", freemarkerTool.processString("code-generator/ui/layui-edit.ftl", params)); + result.put("layui-list", freemarkerTool.processString("code-generator/ui/layui-list.ftl", params)); //mybatis old result.put("controller", freemarkerTool.processString("code-generator/mybatis/controller.ftl", params)); result.put("service", freemarkerTool.processString("code-generator/mybatis/service.ftl", params)); @@ -47,11 +49,11 @@ public Map getResultByParams(Map params) throws //beetsql result.put("beetlmd", freemarkerTool.processString("code-generator/beetlsql/beetlmd.ftl", params)); result.put("beetlentity", freemarkerTool.processString("code-generator/beetlsql/beetlentity.ftl", params)); - result.put("beetlentitydto", freemarkerTool.processString("code-generator/beetlsql/beetlentitydto.ftl", params)); result.put("beetlcontroller", freemarkerTool.processString("code-generator/beetlsql/beetlcontroller.ftl", params)); //mybatis plus result.put("pluscontroller", freemarkerTool.processString("code-generator/mybatis-plus/pluscontroller.ftl", params)); result.put("plusmapper", freemarkerTool.processString("code-generator/mybatis-plus/plusmapper.ftl", params)); + result.put("plusentity", freemarkerTool.processString("code-generator/mybatis-plus/plusentity.ftl", params)); //util result.put("util", freemarkerTool.processString("code-generator/util/util.ftl", params)); result.put("json", freemarkerTool.processString("code-generator/util/json.ftl", params)); diff --git a/generator-web/src/main/java/com/softdev/system/generator/util/FreemarkerTool.java b/generator-web/src/main/java/com/softdev/system/generator/util/FreemarkerTool.java index dedbf0b1..7d122379 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/util/FreemarkerTool.java +++ b/generator-web/src/main/java/com/softdev/system/generator/util/FreemarkerTool.java @@ -37,7 +37,13 @@ public String processTemplateIntoString(Template template, Object model) template.process(model, result); return result.toString(); } - + /** + * 传入需要转义的字符串进行转义 + * 20200503 zhengkai.blog.csdn.net + * */ + public String escapeString(String originStr){ + return originStr.replaceAll("井","\\#").replaceAll("¥","\\$"); + } /** * process String * @@ -49,9 +55,10 @@ public String processTemplateIntoString(Template template, Object model) */ public String processString(String templateName, Map params) throws IOException, TemplateException { - + //获取对应的模板 Template template = configuration.getTemplate(templateName); - String htmlText = processTemplateIntoString(template, params); + //处理为template并进行转义 + String htmlText = escapeString(processTemplateIntoString(template, params)); return htmlText; } diff --git a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java index 907b55bd..15b12333 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java +++ b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java @@ -194,20 +194,25 @@ public static ClassInfo processTableIntoClassInfo(ParamInfo paramInfo) String fieldClass = Object.class.getSimpleName(); //2018-9-16 zhengk 补充char/clob/blob/json等类型,如果类型未知,默认为String //2018-11-22 lshz0088 处理字段类型的时候,不严谨columnLine.contains(" int") 类似这种的,可在前后适当加一些空格之类的加以区分,否则当我的字段包含这些字符的时候,产生类型判断问题。 - if (columnLine.contains(" int") || columnLine.contains("smallint")) { + //2020-05-03 MOSHOW.K.ZHENG 优化对所有类型的处理 + if (columnLine.contains(" tinyint") ) { + //20191115 MOSHOW.K.ZHENG 支持对tinyint的特殊处理 + fieldClass=tinyintTransType; + } + else if (columnLine.contains(" int") || columnLine.contains(" smallint")) { fieldClass = Integer.class.getSimpleName(); - } else if (columnLine.contains("bigint")) { + } else if (columnLine.contains(" bigint")) { fieldClass = Long.class.getSimpleName(); - } else if (columnLine.contains("float")) { + } else if (columnLine.contains(" float")) { fieldClass = Float.class.getSimpleName(); - } else if (columnLine.contains("double")) { + } else if (columnLine.contains(" double")) { fieldClass = Double.class.getSimpleName(); - } else if (columnLine.contains("time") || columnLine.contains(" date") || columnLine.contains("datetime") || columnLine.contains("timestamp")) { + } else if (columnLine.contains(" time") || columnLine.contains(" date") || columnLine.contains(" datetime") || columnLine.contains(" timestamp")) { fieldClass = Date.class.getSimpleName(); - } else if (columnLine.contains("varchar") || columnLine.contains(" text")|| columnLine.contains("char") - || columnLine.contains("clob")||columnLine.contains("blob")||columnLine.contains("json")) { + } else if (columnLine.contains(" varchar") || columnLine.contains(" text")|| columnLine.contains(" char") + || columnLine.contains(" clob")||columnLine.contains(" blob")||columnLine.contains(" json")) { fieldClass = String.class.getSimpleName(); - } else if (columnLine.contains("decimal")||columnLine.contains(" number")) { + } else if (columnLine.contains(" decimal")||columnLine.contains(" number")) { //2018-11-22 lshz0088 建议对number类型增加int,long,BigDecimal的区分判断 //如果startKh大于等于0,则表示有设置取值范围 int startKh=columnLine.indexOf("("); @@ -239,12 +244,9 @@ public static ClassInfo processTableIntoClassInfo(ParamInfo paramInfo) }else{ fieldClass = BigDecimal.class.getSimpleName(); } - } else if (columnLine.contains("boolean")) { + } else if (columnLine.contains(" boolean")) { //20190910 MOSHOW.K.ZHENG 新增对boolean的处理(感谢@violinxsc的反馈)以及修复tinyint类型字段无法生成boolean类型问题(感谢@hahaYhui的反馈) fieldClass = Boolean.class.getSimpleName(); - } else if (columnLine.contains("tinyint") ) { - //20191115 MOSHOW.K.ZHENG 支持对tinyint的特殊处理 - fieldClass=tinyintTransType; } else { fieldClass = String.class.getSimpleName(); } diff --git a/generator-web/src/main/resources/rebel.xml b/generator-web/src/main/resources/rebel.xml new file mode 100644 index 00000000..beab42a2 --- /dev/null +++ b/generator-web/src/main/resources/rebel.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/generator-web/src/main/resources/static/version.json b/generator-web/src/main/resources/static/version.json index 4d7211c0..4316322f 100644 --- a/generator-web/src/main/resources/static/version.json +++ b/generator-web/src/main/resources/static/version.json @@ -1 +1 @@ -{"version": "20200206"} \ No newline at end of file +{"version": "20200306"} \ No newline at end of file diff --git a/generator-web/src/main/resources/templates/code-generator/beetlsql/beetlentity.ftl b/generator-web/src/main/resources/templates/code-generator/beetlsql/beetlentity.ftl index 381f3ae1..e20de003 100644 --- a/generator-web/src/main/resources/templates/code-generator/beetlsql/beetlentity.ftl +++ b/generator-web/src/main/resources/templates/code-generator/beetlsql/beetlentity.ftl @@ -8,7 +8,8 @@ import java.util.List; * @author ${authorName} * @date ${.now?string('yyyy-MM-dd HH:mm:ss')} */ -@Data +@Data<#if swagger?exists && swagger==true> +@ApiModel("${classInfo.classComment}") public class ${classInfo.className} implements Serializable { private static final long serialVersionUID = 1L; @@ -17,7 +18,8 @@ public class ${classInfo.className} implements Serializable { <#list classInfo.fieldList as fieldItem > /** * ${fieldItem.fieldComment} - */ + */<#if swagger?exists && swagger==true> + @ApiModelProperty("${fieldItem.fieldComment}") private ${fieldItem.fieldClass} ${fieldItem.fieldName}; diff --git a/generator-web/src/main/resources/templates/code-generator/beetlsql/beetlentitydto.ftl b/generator-web/src/main/resources/templates/code-generator/beetlsql/beetlentitydto.ftl deleted file mode 100644 index 9665c5c1..00000000 --- a/generator-web/src/main/resources/templates/code-generator/beetlsql/beetlentitydto.ftl +++ /dev/null @@ -1,27 +0,0 @@ -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.Data; -import java.util.Date; -import java.util.List; - -/** - * @description ${classInfo.classComment} - * @author ${authorName} - * @date ${.now?string('yyyy-MM-dd HH:mm:ss')} - */ -@Data -@ApiModel("${classInfo.classComment}") -public class ${classInfo.className}DTO { - -<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> -<#list classInfo.fieldList as fieldItem > - @ApiModelProperty("${fieldItem.fieldComment}") - private ${fieldItem.fieldClass} ${fieldItem.fieldName}; - - - public ${classInfo.className}() { - } - - -} diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl index 3686847c..ce1d9508 100644 --- a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl +++ b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl @@ -1,20 +1,28 @@ package ${packageName}.controller; +import com.alibaba.fastjson.JSON; import ${packageName}.entity.${classInfo.className}; import ${packageName}.mapper.${classInfo.className}Mapper; +import ${packageName}.util.ReturnT; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.web.servlet.ModelAndView; + +import java.util.Date; import java.util.List; import java.util.Map; /** - * @description ${classInfo.classComment} - * @author ${authorName} - * @date ${.now?string('yyyy-MM-dd HH:mm:ss')} - */ +* @description ${classInfo.classComment} +* @author ${authorName} +* @date ${.now?string('yyyy-MM-dd HH:mm:ss')} +*/ +@Slf4j @RestController @RequestMapping("/${classInfo.className?uncap_first}") public class ${classInfo.className}Controller { @@ -26,14 +34,20 @@ public class ${classInfo.className}Controller { * 新增或编辑 */ @PostMapping("/save") - public Object save(${classInfo.className} ${classInfo.className?uncap_first}){ - ${classInfo.className} ${classInfo.className?uncap_first} = ${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("id",id)) - if(${classInfo.className?uncap_first}!=null){ + public Object save(@RequestBody ${classInfo.className} ${classInfo.className?uncap_first}){ + log.info("${classInfo.className?uncap_first}:"+JSON.toJSONString(${classInfo.className?uncap_first})); + ${classInfo.className} old${classInfo.className} = ${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("${classInfo.className?uncap_first}_id",${classInfo.className?uncap_first}.get${classInfo.className}Id())); + ${classInfo.className?uncap_first}.setModifyDate(new Date()); + if(old${classInfo.className}!=null){ ${classInfo.className?uncap_first}Mapper.updateById(${classInfo.className?uncap_first}); }else{ - ${classInfo.className?uncap_first}Mapper.insert(${classInfo.className?uncap_first}); + if(${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("${classInfo.className?uncap_first}_name",${classInfo.className?uncap_first}.get${classInfo.className}Name()))!=null){ + return new ReturnT<>(ReturnT.FAIL_CODE,"保存失败,名字重复"); + } + ${classInfo.className?uncap_first}.setCreateDate(new Date()); + ${classInfo.className?uncap_first}Mapper.insert(${classInfo.className?uncap_first}); } - return ${returnUtil}.success(${classInfo.className?uncap_first}); + return new ReturnT<>(ReturnT.SUCCESS_CODE,"保存成功"); } /** @@ -41,11 +55,12 @@ public class ${classInfo.className}Controller { */ @PostMapping("/delete") public Object delete(int id){ - ${classInfo.className} ${classInfo.className?uncap_first} = ${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("id",id)) + ${classInfo.className} ${classInfo.className?uncap_first} = ${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("${classInfo.className?uncap_first}_id",id)); if(${classInfo.className?uncap_first}!=null){ - return ${returnUtil}.success(${classInfo.className?uncap_first}); + ${classInfo.className?uncap_first}Mapper.deleteById(id); + return new ReturnT<>(ReturnT.SUCCESS_CODE,"删除成功"); }else{ - return ${returnUtil}.error("没有找到该对象"); + return new ReturnT<>(ReturnT.FAIL_CODE,"没有找到该对象"); } } @@ -54,11 +69,11 @@ public class ${classInfo.className}Controller { */ @PostMapping("/find") public Object find(int id){ - ${classInfo.className} ${classInfo.className?uncap_first} = ${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("id",id)) + ${classInfo.className} ${classInfo.className?uncap_first} = ${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("${classInfo.className?uncap_first}_id",id)); if(${classInfo.className?uncap_first}!=null){ - return ${returnUtil}.success(${classInfo.className?uncap_first}); + return new ReturnT<>(${classInfo.className?uncap_first}); }else{ - return ${returnUtil}.error("没有找到该对象"); + return new ReturnT<>(ReturnT.FAIL_CODE,"没有找到该对象"); } } @@ -66,17 +81,33 @@ public class ${classInfo.className}Controller { * 分页查询 */ @PostMapping("/list") - public Object list(${classInfo.className} ${classInfo.className?uncap_first}, - @RequestParam(required = false, defaultValue = "0") int pageNumber, - @RequestParam(required = false, defaultValue = "10") int pageSize) { + public Object list(String searchParams, + @RequestParam(required = false, defaultValue = "0") int page, + @RequestParam(required = false, defaultValue = "10") int limit) { + log.info("page:"+page+"-limit:"+limit+"-json:"+ JSON.toJSONString(searchParams)); //分页构造器 - Page<${classInfo.className}> page = new Page<${classInfo.className}>(pageNumber,pageSize); + Page<${classInfo.className}> buildPage = new Page<${classInfo.className}>(page,limit); //条件构造器 - QueryWrapper<${classInfo.className}> queryWrapperw = new QueryWrapper<${classInfo.className}>(${classInfo.className?uncap_first}); + QueryWrapper<${classInfo.className}> queryWrapper = new QueryWrapper<${classInfo.className}>(); + if(StringUtils.isNotEmpty(searchParams)&&JSON.isValid(searchParams)) { + ${classInfo.className} ${classInfo.className?uncap_first} = JSON.parseObject(searchParams, ${classInfo.className}.class); + queryWrapper.eq(StringUtils.isNoneEmpty(${classInfo.className?uncap_first}.get${classInfo.className}Name()), "${classInfo.className?uncap_first}_name", ${classInfo.className?uncap_first}.get${classInfo.className}Name()); + } //执行分页 - IPage<${classInfo.className}> pageList = certPersonMapper.selectPage(page, queryWrapperw); + IPage<${classInfo.className}> pageList = ${classInfo.className?uncap_first}Mapper.selectPage(buildPage, queryWrapper); //返回结果 - return ${returnUtil}.success(pageList); + return new ReturnT<>(pageList.getRecords(),Integer.parseInt(pageList.getTotal()+"")); + } + @GetMapping("/list") + public ModelAndView listPage(){ + return new ModelAndView("cms/${classInfo.className?uncap_first}-list"); + } + @GetMapping("/edit") + public ModelAndView editPage(int id){ + ${classInfo.className} ${classInfo.className?uncap_first} = ${classInfo.className?uncap_first}Mapper.selectOne(new QueryWrapper<${classInfo.className}>().eq("${classInfo.className?uncap_first}_id",id)); + return new ModelAndView("cms/${classInfo.className?uncap_first}-edit","${classInfo.className?uncap_first}",${classInfo.className?uncap_first}); } - } + + + diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusentity.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusentity.ftl new file mode 100644 index 00000000..887dd2a7 --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusentity.ftl @@ -0,0 +1,35 @@ +package ${packageName}.entity; + +import lombok.Data; +import java.util.Date; +import java.util.List; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; + +/** + * @description ${classInfo.classComment} + * @author ${authorName} + * @date ${.now?string('yyyy-MM-dd HH:mm:ss')} + */ +@Data +<#if swagger?exists && swagger==true>@ApiModel("${classInfo.classComment}") +public class ${classInfo.className} implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +<#list classInfo.fieldList as fieldItem > + /** + * ${fieldItem.fieldComment} + */<#if swagger?exists && swagger==true> + @ApiModelProperty("${fieldItem.fieldComment}") + private ${fieldItem.fieldClass} ${fieldItem.fieldName}; + + + public ${classInfo.className}() { + } + + +} diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl index 231dbd5b..1b7901be 100644 --- a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl +++ b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl @@ -1,15 +1,37 @@ package ${packageName}.mapper; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.springframework.stereotype.Repository; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import ${packageName}.entity.${classInfo.className}; /** * @description ${classInfo.classComment} * @author ${authorName} * @date ${.now?string('yyyy-MM-dd HH:mm:ss')} */ -@Repository +@Mapper public interface ${classInfo.className}Mapper extends BaseMapper<${classInfo.className}> { + @Select( + "") + List<${classInfo.className}> pageAll(${classInfo.className} queryParamDTO); + @Select("") + int countAll(${classInfo.className} queryParamDTO); } diff --git a/generator-web/src/main/resources/templates/code-generator/ui/layui-edit.ftl b/generator-web/src/main/resources/templates/code-generator/ui/layui-edit.ftl new file mode 100644 index 00000000..cf70761f --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/ui/layui-edit.ftl @@ -0,0 +1,78 @@ + + + + + layuimini + + + + + + + + +
+ + + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > +
+ +
+ + <#--${fieldItem.fieldComment}--> +
+
+ + + +
+
+ +
+
+
+ + + + + \ No newline at end of file diff --git a/generator-web/src/main/resources/templates/code-generator/ui/layui-list.ftl b/generator-web/src/main/resources/templates/code-generator/ui/layui-list.ftl new file mode 100644 index 00000000..bbd252d6 --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/ui/layui-list.ftl @@ -0,0 +1,189 @@ + + + + + layuimini + + + + + + + +
+
+ +
+ 搜索信息 +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+ + + +
+ + + + +
+
+ + + + + + \ No newline at end of file diff --git a/generator-web/src/main/resources/templates/index.ftl b/generator-web/src/main/resources/templates/index.ftl index eb151fe2..7eecedc8 100644 --- a/generator-web/src/main/resources/templates/index.ftl +++ b/generator-web/src/main/resources/templates/index.ftl @@ -88,7 +88,7 @@ success: function (data) { if (data.code === 200) { codeData = data.data; - genCodeArea.setValue(codeData.entity); + genCodeArea.setValue(codeData.beetlentity); genCodeArea.setSize('auto', 'auto'); $.toast("√ 代码生成成功"); //添加历史记录 @@ -231,7 +231,7 @@
返回封装
- +
包名路径
@@ -324,12 +324,13 @@ CREATE TABLE 'userinfo' (
+
-
-