diff --git a/README.md b/README.md
index 97131d3..b16d9f5 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,7 @@
|更新日期|更新内容|
|-|-|
+|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的提交)|
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 b6e5b60..b29dce4 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
@@ -49,11 +49,11 @@ public class GeneratorServiceImpl implements GeneratorService {
//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 dedbf0b..7d12237 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 class FreemarkerTool {
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 class FreemarkerTool {
*/
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 907b55b..15b1233 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 class TableParseUtil {
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 class TableParseUtil {
}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 0000000..beab42a
--- /dev/null
+++ b/generator-web/src/main/resources/rebel.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
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 381f3ae..e20de00 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}")#if>
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}")#if>
private ${fieldItem.fieldClass} ${fieldItem.fieldName};
#list>
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 9665c5c..0000000
--- 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};
-
-#list>
- public ${classInfo.className}() {
- }
-#if>
-
-}
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 0000000..887dd2a
--- /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}")#if>
+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}")#if>
+ private ${fieldItem.fieldClass} ${fieldItem.fieldName};
+
+#list>
+ public ${classInfo.className}() {
+ }
+#if>
+
+}
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 c34443d..1b7901b 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
@@ -2,6 +2,7 @@ package ${packageName}.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
import ${packageName}.entity.${classInfo.className};
/**
@@ -12,6 +13,25 @@ import ${packageName}.entity.${classInfo.className};
@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
index cac62d7..cf70761 100644
--- 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
@@ -6,8 +6,8 @@
-
-
+
+