diff --git a/spring-boot-demo-codegen/pom.xml b/spring-boot-demo-codegen/pom.xml index 552f5eeec..b3ea06dcd 100644 --- a/spring-boot-demo-codegen/pom.xml +++ b/spring-boot-demo-codegen/pom.xml @@ -9,13 +9,6 @@ spring-boot-demo-codegen Demo project for Spring Boot - - - com.xkcoding - spring-boot-demo - 1.0.0-SNAPSHOT - - UTF-8 UTF-8 diff --git a/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/entity/ColumnEntity.java b/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/entity/ColumnEntity.java index d106fb184..a2a0bb37b 100755 --- a/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/entity/ColumnEntity.java +++ b/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/entity/ColumnEntity.java @@ -41,6 +41,10 @@ public class ColumnEntity { * 属性类型 */ private String attrType; + /** + * jdbc类型 + */ + private String jdbcType; /** * 其他信息 */ diff --git a/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/utils/CodeGenUtil.java b/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/utils/CodeGenUtil.java index 3c9bfcaeb..ef11a63ce 100644 --- a/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/utils/CodeGenUtil.java +++ b/spring-boot-demo-codegen/src/main/java/com/xkcoding/codegen/utils/CodeGenUtil.java @@ -69,7 +69,9 @@ private List getTemplates() { */ public void generatorCode(GenConfig genConfig, Entity table, List columns, ZipOutputStream zip) { //配置信息 - Props props = getConfig(); + Props propsDB2Java = getConfig("generator.properties"); + Props propsDB2Jdbc = getConfig("jdbc_type.properties"); + boolean hasBigDecimal = false; //表信息 TableEntity tableEntity = new TableEntity(); @@ -85,7 +87,7 @@ public void generatorCode(GenConfig genConfig, Entity table, List column if (StrUtil.isNotBlank(genConfig.getTablePrefix())) { tablePrefix = genConfig.getTablePrefix(); } else { - tablePrefix = props.getStr("tablePrefix"); + tablePrefix = propsDB2Java.getStr("tablePrefix"); } //表名转换成Java类名 @@ -108,8 +110,10 @@ public void generatorCode(GenConfig genConfig, Entity table, List column columnEntity.setLowerAttrName(StrUtil.lowerFirst(attrName)); //列的数据类型,转换成Java类型 - String attrType = props.getStr(columnEntity.getDataType(), "unknownType"); + String attrType = propsDB2Java.getStr(columnEntity.getDataType(), "unknownType"); columnEntity.setAttrType(attrType); + String jdbcType = propsDB2Jdbc.getStr(columnEntity.getDataType(), "unknownType"); + columnEntity.setJdbcType(jdbcType); if (!hasBigDecimal && "BigDecimal".equals(attrType)) { hasBigDecimal = true; } @@ -152,21 +156,21 @@ public void generatorCode(GenConfig genConfig, Entity table, List column if (StrUtil.isNotBlank(genConfig.getAuthor())) { map.put("author", genConfig.getAuthor()); } else { - map.put("author", props.getStr("author")); + map.put("author", propsDB2Java.getStr("author")); } if (StrUtil.isNotBlank(genConfig.getModuleName())) { map.put("moduleName", genConfig.getModuleName()); } else { - map.put("moduleName", props.getStr("moduleName")); + map.put("moduleName", propsDB2Java.getStr("moduleName")); } if (StrUtil.isNotBlank(genConfig.getPackageName())) { map.put("package", genConfig.getPackageName()); map.put("mainPath", genConfig.getPackageName()); } else { - map.put("package", props.getStr("package")); - map.put("mainPath", props.getStr("mainPath")); + map.put("package", propsDB2Java.getStr("package")); + map.put("mainPath", propsDB2Java.getStr("mainPath")); } VelocityContext context = new VelocityContext(map); @@ -213,8 +217,8 @@ private String tableToJava(String tableName, String tablePrefix) { /** * 获取配置信息 */ - private Props getConfig() { - Props props = new Props("generator.properties"); + private Props getConfig(String fileName) { + Props props = new Props(fileName); props.autoLoad(true); return props; } diff --git a/spring-boot-demo-codegen/src/main/resources/jdbc_type.properties b/spring-boot-demo-codegen/src/main/resources/jdbc_type.properties new file mode 100644 index 000000000..77d55ac60 --- /dev/null +++ b/spring-boot-demo-codegen/src/main/resources/jdbc_type.properties @@ -0,0 +1,21 @@ +tinyint=TINYINT +smallint=SMALLINT +mediumint=MEDIUMINT +int=INTEGER +integer=INTEGER +bigint=BIGINT +float=FLOAT +double=DOUBLE +decimal=DECIMAL +bit=BIT +char=CHAR +varchar=VARCHAR +tinytext=VARCHAR +text=VARCHAR +mediumtext=VARCHAR +longtext=VARCHAR +date=DATE +datetime=DATETIME +timestamp=TIMESTAMP +blob=BLOB +longblob=LONGBLOB diff --git a/spring-boot-demo-codegen/src/main/resources/logback-spring.xml b/spring-boot-demo-codegen/src/main/resources/logback-spring.xml new file mode 100644 index 000000000..5b24b8879 --- /dev/null +++ b/spring-boot-demo-codegen/src/main/resources/logback-spring.xml @@ -0,0 +1,79 @@ + + + + + + + INFO + + + ${CONSOLE_LOG_PATTERN} + UTF-8 + + + + + + + + ERROR + + DENY + + ACCEPT + + + + + + + logs/spring-boot-demo-logback/info.created_on_%d{yyyy-MM-dd}.part_%i.log + + 90 + + + + + 2MB + + + + + + + ${FILE_LOG_PATTERN} + UTF-8 + + + + + + + Error + + + + + + + logs/spring-boot-demo-logback/error.created_on_%d{yyyy-MM-dd}.part_%i.log + + 90 + + + 2MB + + + + ${FILE_ERROR_PATTERN} + UTF-8 + + + + + + + + + diff --git a/spring-boot-demo-codegen/src/main/resources/template/Controller.java.vm b/spring-boot-demo-codegen/src/main/resources/template/Controller.java.vm index a5578883e..36420dba2 100755 --- a/spring-boot-demo-codegen/src/main/resources/template/Controller.java.vm +++ b/spring-boot-demo-codegen/src/main/resources/template/Controller.java.vm @@ -2,17 +2,16 @@ package ${package}.${moduleName}.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.xkcoding.common.R; -import com.xkcoding.scaffold.log.annotations.ApiLog; +import ${package}.${moduleName}.common.R; import ${package}.${moduleName}.entity.${className}; import ${package}.${moduleName}.service.${className}Service; -import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; +import org.springframework.beans.factory.annotation.Autowired; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; - +import lombok.extern.slf4j.Slf4j; /** *

* ${comments} @@ -26,13 +25,13 @@ import io.swagger.annotations.ApiImplicitParams; * @version: V1.0 * @modified: ${author} */ +@Slf4j @RestController -@AllArgsConstructor @RequestMapping("/${pathName}") @Api(description = "${className}Controller", tags = {"${comments}"}) public class ${className}Controller { - - private final ${className}Service ${classname}Service; + @Autowired + private ${className}Service ${classname}Service; /** * 分页查询${comments} @@ -47,7 +46,7 @@ public class ${className}Controller { @ApiImplicitParam(name = "${classname}", value = "查询条件", required = true) }) public R list${className}(Page page, ${className} ${classname}) { - return new R<>(${classname}Service.page(page,Wrappers.query(${classname}))); + return R.success(${classname}Service.page(page,Wrappers.query(${classname}))); } @@ -62,7 +61,7 @@ public class ${className}Controller { @ApiImplicitParam(name = "${pk.lowerAttrName}", value = "主键id", required = true) }) public R get${className}(@PathVariable("${pk.lowerAttrName}") ${pk.attrType} ${pk.lowerAttrName}){ - return new R<>(${classname}Service.getById(${pk.lowerAttrName})); + return R.success(${classname}Service.getById(${pk.lowerAttrName})); } /** @@ -70,11 +69,10 @@ public class ${className}Controller { * @param ${classname} ${comments} * @return R */ - @ApiLog("新增${comments}") @PostMapping @ApiOperation(value = "新增${comments}", notes = "新增${comments}") public R save${className}(@RequestBody ${className} ${classname}){ - return new R<>(${classname}Service.save(${classname})); + return R.success(${classname}Service.save(${classname})); } /** @@ -83,14 +81,13 @@ public class ${className}Controller { * @param ${classname} ${comments} * @return R */ - @ApiLog("修改${comments}") @PutMapping("/{${pk.lowerAttrName}}") @ApiOperation(value = "修改${comments}", notes = "修改${comments}") @ApiImplicitParams({ @ApiImplicitParam(name = "${pk.lowerAttrName}", value = "主键id", required = true) }) public R update${className}(@PathVariable ${pk.attrType} ${pk.lowerAttrName}, @RequestBody ${className} ${classname}){ - return new R<>(${classname}Service.updateById(${classname})); + return R.success(${classname}Service.updateById(${classname})); } /** @@ -98,14 +95,13 @@ public class ${className}Controller { * @param ${pk.lowerAttrName} id * @return R */ - @ApiLog("删除${comments}") @DeleteMapping("/{${pk.lowerAttrName}}") @ApiOperation(value = "删除${comments}", notes = "删除${comments}") @ApiImplicitParams({ @ApiImplicitParam(name = "${pk.lowerAttrName}", value = "主键id", required = true) }) public R delete${className}(@PathVariable ${pk.attrType} ${pk.lowerAttrName}){ - return new R<>(${classname}Service.removeById(${pk.lowerAttrName})); + return R.success(${classname}Service.removeById(${pk.lowerAttrName})); } } diff --git a/spring-boot-demo-codegen/src/main/resources/template/Entity.java.vm b/spring-boot-demo-codegen/src/main/resources/template/Entity.java.vm index 69ce47acd..ddf3bf0ac 100755 --- a/spring-boot-demo-codegen/src/main/resources/template/Entity.java.vm +++ b/spring-boot-demo-codegen/src/main/resources/template/Entity.java.vm @@ -8,9 +8,10 @@ import lombok.EqualsAndHashCode; #if(${hasBigDecimal}) import java.math.BigDecimal; #end -import java.io.Serializable; import java.time.LocalDateTime; - +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.NoArgsConstructor; /** *

* ${comments} @@ -25,6 +26,7 @@ import java.time.LocalDateTime; * @modified: ${author} */ @Data +@NoArgsConstructor @TableName("${tableName}") @ApiModel(description = "${comments}") @EqualsAndHashCode(callSuper = true) diff --git a/spring-boot-demo-codegen/src/main/resources/template/Mapper.xml.vm b/spring-boot-demo-codegen/src/main/resources/template/Mapper.xml.vm index d8b2fc2f5..c966b3ebe 100755 --- a/spring-boot-demo-codegen/src/main/resources/template/Mapper.xml.vm +++ b/spring-boot-demo-codegen/src/main/resources/template/Mapper.xml.vm @@ -4,9 +4,9 @@ #foreach($column in $columns) #if($column.lowerAttrName==$pk.lowerAttrName) - + #else - + #end #end diff --git a/spring-boot-demo-codegen/src/main/resources/template/ServiceImpl.java.vm b/spring-boot-demo-codegen/src/main/resources/template/ServiceImpl.java.vm index 2fa0e6c8c..56290b3ac 100755 --- a/spring-boot-demo-codegen/src/main/resources/template/ServiceImpl.java.vm +++ b/spring-boot-demo-codegen/src/main/resources/template/ServiceImpl.java.vm @@ -5,7 +5,7 @@ import ${package}.${moduleName}.entity.${className}; import ${package}.${moduleName}.mapper.${className}Mapper; import ${package}.${moduleName}.service.${className}Service; import org.springframework.stereotype.Service; - +import lombok.extern.slf4j.Slf4j; /** *

* ${comments} @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; * @modified: ${author} */ @Service +@Slf4j public class ${className}ServiceImpl extends ServiceImpl<${className}Mapper, ${className}> implements ${className}Service { }