Commit 63962d557a177d0646da756feb356652fe01e630
1 parent
54c98c3a
梳理代码生成器的配置
Showing
22 changed files
with
237 additions
and
97 deletions
src/main/java/cn/iocoder/dashboard/framework/codegen/config/CodegenConfiguration.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.framework.codegen.config; | ||
| 2 | + | ||
| 3 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 4 | +import org.springframework.context.annotation.Configuration; | ||
| 5 | + | ||
| 6 | +@Configuration | ||
| 7 | +@EnableConfigurationProperties(CodegenProperties.class) | ||
| 8 | +public class CodegenConfiguration { | ||
| 9 | +} |
src/main/java/cn/iocoder/dashboard/framework/codegen/config/CodegenProperties.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.framework.codegen.config; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import org.springframework.boot.context.properties.ConfigurationProperties; | ||
| 5 | +import org.springframework.validation.annotation.Validated; | ||
| 6 | + | ||
| 7 | +import javax.validation.constraints.NotEmpty; | ||
| 8 | +import javax.validation.constraints.NotNull; | ||
| 9 | +import java.util.Collection; | ||
| 10 | + | ||
| 11 | +@ConfigurationProperties(prefix = "yudao.codegen") | ||
| 12 | +@Validated | ||
| 13 | +@Data | ||
| 14 | +public class CodegenProperties { | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * 生成的 Java 代码的基础包 | ||
| 18 | + */ | ||
| 19 | + @NotNull(message = "Java 代码的基础包不能为空") | ||
| 20 | + private String basePackage; | ||
| 21 | + | ||
| 22 | + /** | ||
| 23 | + * 数据库名数组 | ||
| 24 | + */ | ||
| 25 | + @NotEmpty(message = "数据库不能为空") | ||
| 26 | + private Collection<String> dbSchemas; | ||
| 27 | + | ||
| 28 | +} |
src/main/java/cn/iocoder/dashboard/framework/codegen/package-info.java
0 → 100644
src/main/java/cn/iocoder/dashboard/framework/datasource/DataSourceConfiguration.java renamed to src/main/java/cn/iocoder/dashboard/framework/datasource/config/DataSourceConfiguration.java
| 1 | -package cn.iocoder.dashboard.framework.datasource; | 1 | +package cn.iocoder.dashboard.framework.datasource.config; |
| 2 | 2 | ||
| 3 | import org.springframework.context.annotation.Configuration; | 3 | import org.springframework.context.annotation.Configuration; |
| 4 | import org.springframework.transaction.annotation.EnableTransactionManagement; | 4 | import org.springframework.transaction.annotation.EnableTransactionManagement; |
src/main/java/cn/iocoder/dashboard/framework/mybatis/config/MybatisConfiguration.java
| @@ -13,7 +13,7 @@ import org.springframework.context.annotation.Configuration; | @@ -13,7 +13,7 @@ import org.springframework.context.annotation.Configuration; | ||
| 13 | * @author 芋道源码 | 13 | * @author 芋道源码 |
| 14 | */ | 14 | */ |
| 15 | @Configuration | 15 | @Configuration |
| 16 | -@MapperScan(value = "cn.iocoder.dashboard", annotationClass = Mapper.class) | 16 | +@MapperScan(value = "${yudao.info.base-package}", annotationClass = Mapper.class) |
| 17 | public class MybatisConfiguration { | 17 | public class MybatisConfiguration { |
| 18 | 18 | ||
| 19 | @Bean | 19 | @Bean |
src/main/java/cn/iocoder/dashboard/framework/mybatis/core/query/QueryWrapperX.java
| @@ -104,4 +104,10 @@ public class QueryWrapperX<T> extends QueryWrapper<T> { | @@ -104,4 +104,10 @@ public class QueryWrapperX<T> extends QueryWrapper<T> { | ||
| 104 | return this; | 104 | return this; |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | + @Override | ||
| 108 | + public QueryWrapperX<T> in(String column, Collection<?> coll) { | ||
| 109 | + super.in(column, coll); | ||
| 110 | + return this; | ||
| 111 | + } | ||
| 112 | + | ||
| 107 | } | 113 | } |
src/main/java/cn/iocoder/dashboard/modules/tool/controller/codegen/ToolCodegenController.java
| @@ -9,13 +9,16 @@ import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenPrevie | @@ -9,13 +9,16 @@ import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenPrevie | ||
| 9 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO; | 9 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO; |
| 10 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO; | 10 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO; |
| 11 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO; | 11 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO; |
| 12 | +import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolSchemaTableRespVO; | ||
| 12 | import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert; | 13 | import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert; |
| 13 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; | 14 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; |
| 14 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; | 15 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; |
| 16 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO; | ||
| 15 | import cn.iocoder.dashboard.modules.tool.service.codegen.ToolCodegenService; | 17 | import cn.iocoder.dashboard.modules.tool.service.codegen.ToolCodegenService; |
| 16 | import cn.iocoder.dashboard.util.servlet.ServletUtils; | 18 | import cn.iocoder.dashboard.util.servlet.ServletUtils; |
| 17 | import io.swagger.annotations.Api; | 19 | import io.swagger.annotations.Api; |
| 18 | import io.swagger.annotations.ApiImplicitParam; | 20 | import io.swagger.annotations.ApiImplicitParam; |
| 21 | +import io.swagger.annotations.ApiImplicitParams; | ||
| 19 | import io.swagger.annotations.ApiOperation; | 22 | import io.swagger.annotations.ApiOperation; |
| 20 | import org.springframework.validation.annotation.Validated; | 23 | import org.springframework.validation.annotation.Validated; |
| 21 | import org.springframework.web.bind.annotation.*; | 24 | import org.springframework.web.bind.annotation.*; |
| @@ -40,6 +43,23 @@ public class ToolCodegenController { | @@ -40,6 +43,23 @@ public class ToolCodegenController { | ||
| 40 | @Resource | 43 | @Resource |
| 41 | private ToolCodegenService codegenService; | 44 | private ToolCodegenService codegenService; |
| 42 | 45 | ||
| 46 | + @ApiOperation(value = "获得数据库自带的表定义列表", notes = "会过滤掉已经导入 Codegen 的表") | ||
| 47 | + @GetMapping("/db/table/list") | ||
| 48 | + @ApiImplicitParams({ | ||
| 49 | + @ApiImplicitParam(name = "tableName", required = true, example = "yudao", dataTypeClass = String.class), | ||
| 50 | + @ApiImplicitParam(name = "tableComment", required = true, example = "芋道", dataTypeClass = Long.class) | ||
| 51 | + }) | ||
| 52 | +// @PreAuthorize("@ss.hasPermi('tool:gen:list')") TODO 权限 | ||
| 53 | + public CommonResult<List<ToolSchemaTableRespVO>> getSchemaTableList( | ||
| 54 | + @RequestParam(value = "tableName", required = false) String tableName, | ||
| 55 | + @RequestParam(value = "tableComment", required = false) String tableComment) { | ||
| 56 | + // 获得数据库自带的表定义列表 | ||
| 57 | + List<ToolSchemaTableDO> schemaTables = codegenService.getSchemaTableList(tableName, tableComment); | ||
| 58 | + // 移除在 Codegen 中,已经存在的 | ||
| 59 | + | ||
| 60 | + return null; | ||
| 61 | + } | ||
| 62 | + | ||
| 43 | @ApiOperation("获得表定义分页") | 63 | @ApiOperation("获得表定义分页") |
| 44 | @GetMapping("/table/page") | 64 | @GetMapping("/table/page") |
| 45 | // TODO 权限 @PreAuthorize("@ss.hasPermi('tool:gen:list')") | 65 | // TODO 权限 @PreAuthorize("@ss.hasPermi('tool:gen:list')") |
src/main/java/cn/iocoder/dashboard/modules/tool/controller/codegen/vo/table/ToolSchemaTableRespVO.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | +import lombok.Data; | ||
| 6 | + | ||
| 7 | +import java.util.Date; | ||
| 8 | + | ||
| 9 | +@ApiModel("数据字典的表定义 Response VO") | ||
| 10 | +@Data | ||
| 11 | +public class ToolSchemaTableRespVO { | ||
| 12 | + | ||
| 13 | + @ApiModelProperty(value = "数据库", required = true, example = "yudao") | ||
| 14 | + private String tableSchema; | ||
| 15 | + | ||
| 16 | + @ApiModelProperty(value = "表名称", required = true, example = "yuanma") | ||
| 17 | + private String tableName; | ||
| 18 | + | ||
| 19 | + @ApiModelProperty(value = "表描述", required = true, example = "芋道源码") | ||
| 20 | + private String tableComment; | ||
| 21 | + | ||
| 22 | + @ApiModelProperty(value = "创建时间", required = true) | ||
| 23 | + private Date createTime; | ||
| 24 | + | ||
| 25 | +} |
src/main/java/cn/iocoder/dashboard/modules/tool/convert/codegen/ToolCodegenConvert.java
| @@ -8,8 +8,8 @@ import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.column.ToolCodege | @@ -8,8 +8,8 @@ import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.column.ToolCodege | ||
| 8 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO; | 8 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO; |
| 9 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; | 9 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; |
| 10 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; | 10 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; |
| 11 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaColumnDO; | ||
| 12 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaTableDO; | 11 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO; |
| 12 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO; | ||
| 13 | import org.mapstruct.Mapper; | 13 | import org.mapstruct.Mapper; |
| 14 | import org.mapstruct.factory.Mappers; | 14 | import org.mapstruct.factory.Mappers; |
| 15 | 15 | ||
| @@ -24,11 +24,11 @@ public interface ToolCodegenConvert { | @@ -24,11 +24,11 @@ public interface ToolCodegenConvert { | ||
| 24 | 24 | ||
| 25 | // ========== ToolInformationSchemaTableDO 和 ToolInformationSchemaColumnDO 相关 ========== | 25 | // ========== ToolInformationSchemaTableDO 和 ToolInformationSchemaColumnDO 相关 ========== |
| 26 | 26 | ||
| 27 | - ToolCodegenTableDO convert(ToolInformationSchemaTableDO bean); | 27 | + ToolCodegenTableDO convert(ToolSchemaTableDO bean); |
| 28 | 28 | ||
| 29 | - List<ToolCodegenColumnDO> convertList(List<ToolInformationSchemaColumnDO> list); | 29 | + List<ToolCodegenColumnDO> convertList(List<ToolSchemaColumnDO> list); |
| 30 | 30 | ||
| 31 | - ToolCodegenTableRespVO convert(ToolInformationSchemaColumnDO bean); | 31 | + ToolCodegenTableRespVO convert(ToolSchemaColumnDO bean); |
| 32 | 32 | ||
| 33 | // ========== ToolCodegenTableDO 相关 ========== | 33 | // ========== ToolCodegenTableDO 相关 ========== |
| 34 | 34 |
src/main/java/cn/iocoder/dashboard/modules/tool/dal/dataobject/codegen/ToolInformationSchemaColumnDO.java renamed to src/main/java/cn/iocoder/dashboard/modules/tool/dal/dataobject/codegen/ToolSchemaColumnDO.java
| @@ -13,7 +13,7 @@ import lombok.Data; | @@ -13,7 +13,7 @@ import lombok.Data; | ||
| 13 | @TableName(value = "information_schema.columns", autoResultMap = true) | 13 | @TableName(value = "information_schema.columns", autoResultMap = true) |
| 14 | @Data | 14 | @Data |
| 15 | @Builder | 15 | @Builder |
| 16 | -public class ToolInformationSchemaColumnDO { | 16 | +public class ToolSchemaColumnDO { |
| 17 | 17 | ||
| 18 | /** | 18 | /** |
| 19 | * 表名称 | 19 | * 表名称 |
src/main/java/cn/iocoder/dashboard/modules/tool/dal/dataobject/codegen/ToolInformationSchemaTableDO.java renamed to src/main/java/cn/iocoder/dashboard/modules/tool/dal/dataobject/codegen/ToolSchemaTableDO.java
| @@ -14,7 +14,7 @@ import java.util.Date; | @@ -14,7 +14,7 @@ import java.util.Date; | ||
| 14 | @TableName(value = "information_schema.tables", autoResultMap = true) | 14 | @TableName(value = "information_schema.tables", autoResultMap = true) |
| 15 | @Data | 15 | @Data |
| 16 | @Builder | 16 | @Builder |
| 17 | -public class ToolInformationSchemaTableDO { | 17 | +public class ToolSchemaTableDO { |
| 18 | 18 | ||
| 19 | /** | 19 | /** |
| 20 | * 数据库 | 20 | * 数据库 |
src/main/java/cn/iocoder/dashboard/modules/tool/dal/mysql/coegen/ToolInformationSchemaTableMapper.java deleted
| 1 | -package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX; | ||
| 4 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaTableDO; | ||
| 5 | -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
| 6 | -import org.apache.ibatis.annotations.Mapper; | ||
| 7 | - | ||
| 8 | -import java.util.List; | ||
| 9 | - | ||
| 10 | -@Mapper | ||
| 11 | -public interface ToolInformationSchemaTableMapper extends BaseMapperX<ToolInformationSchemaTableDO> { | ||
| 12 | - | ||
| 13 | - default List<ToolInformationSchemaTableDO> selectListByTableSchema(String tableSchema) { | ||
| 14 | - return selectList(new QueryWrapper<ToolInformationSchemaTableDO>().eq("table_schema", tableSchema)); | ||
| 15 | - } | ||
| 16 | - | ||
| 17 | - default ToolInformationSchemaTableDO selectByTableName(String tableName) { | ||
| 18 | - return selectOne(new QueryWrapper<ToolInformationSchemaTableDO>().eq("table_name", tableName)); | ||
| 19 | - } | ||
| 20 | - | ||
| 21 | -} |
src/main/java/cn/iocoder/dashboard/modules/tool/dal/mysql/coegen/ToolInformationSchemaColumnMapper.java renamed to src/main/java/cn/iocoder/dashboard/modules/tool/dal/mysql/coegen/ToolSchemaColumnMapper.java
| 1 | package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; | 1 | package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; |
| 2 | 2 | ||
| 3 | import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX; | 3 | import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaColumnDO; | 4 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO; |
| 5 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 5 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| 6 | import org.apache.ibatis.annotations.Mapper; | 6 | import org.apache.ibatis.annotations.Mapper; |
| 7 | 7 | ||
| 8 | import java.util.List; | 8 | import java.util.List; |
| 9 | 9 | ||
| 10 | @Mapper | 10 | @Mapper |
| 11 | -public interface ToolInformationSchemaColumnMapper extends BaseMapperX<ToolInformationSchemaColumnDO> { | 11 | +public interface ToolSchemaColumnMapper extends BaseMapperX<ToolSchemaColumnDO> { |
| 12 | 12 | ||
| 13 | - default List<ToolInformationSchemaColumnDO> selectListByTableName(String tableName) { | ||
| 14 | - return selectList(new QueryWrapper<ToolInformationSchemaColumnDO>().eq("table_name", tableName) | 13 | + default List<ToolSchemaColumnDO> selectListByTableName(String tableName) { |
| 14 | + return selectList(new QueryWrapper<ToolSchemaColumnDO>().eq("table_name", tableName) | ||
| 15 | .orderByAsc("ordinal_position")); | 15 | .orderByAsc("ordinal_position")); |
| 16 | } | 16 | } |
| 17 | 17 |
src/main/java/cn/iocoder/dashboard/modules/tool/dal/mysql/coegen/ToolSchemaTableMapper.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX; | ||
| 4 | +import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX; | ||
| 5 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO; | ||
| 6 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
| 7 | +import org.apache.ibatis.annotations.Mapper; | ||
| 8 | + | ||
| 9 | +import java.util.Collection; | ||
| 10 | +import java.util.List; | ||
| 11 | + | ||
| 12 | +@Mapper | ||
| 13 | +public interface ToolSchemaTableMapper extends BaseMapperX<ToolSchemaTableDO> { | ||
| 14 | + | ||
| 15 | + default List<ToolSchemaTableDO> selectList(Collection<String> tableSchemas, String tableName, String tableComment) { | ||
| 16 | + return selectList(new QueryWrapperX<ToolSchemaTableDO>().in("table_schema", tableSchemas) | ||
| 17 | + .eqIfPresent("table_name", tableName) | ||
| 18 | + .eqIfPresent("table_comment", tableComment)); | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + default List<ToolSchemaTableDO> selectListByTableSchema(String tableSchema) { | ||
| 22 | + return selectList(new QueryWrapper<ToolSchemaTableDO>().eq("table_schema", tableSchema)); | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + default ToolSchemaTableDO selectByTableName(String tableName) { | ||
| 26 | + return selectOne(new QueryWrapper<ToolSchemaTableDO>().eq("table_name", tableName)); | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | +} |
src/main/java/cn/iocoder/dashboard/modules/tool/service/codegen/ToolCodegenService.java
| @@ -5,6 +5,7 @@ import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenUpdate | @@ -5,6 +5,7 @@ import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenUpdate | ||
| 5 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO; | 5 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO; |
| 6 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; | 6 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; |
| 7 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; | 7 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; |
| 8 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO; | ||
| 8 | 9 | ||
| 9 | import java.util.List; | 10 | import java.util.List; |
| 10 | import java.util.Map; | 11 | import java.util.Map; |
| @@ -63,4 +64,13 @@ public interface ToolCodegenService { | @@ -63,4 +64,13 @@ public interface ToolCodegenService { | ||
| 63 | */ | 64 | */ |
| 64 | Map<String, String> generationCodes(Long tableId); | 65 | Map<String, String> generationCodes(Long tableId); |
| 65 | 66 | ||
| 67 | + /** | ||
| 68 | + * 获得数据库自带的表定义列表 | ||
| 69 | + * | ||
| 70 | + * @param tableName 表名称 | ||
| 71 | + * @param tableComment 表描述 | ||
| 72 | + * @return 表定义列表 | ||
| 73 | + */ | ||
| 74 | + List<ToolSchemaTableDO> getSchemaTableList(String tableName, String tableComment); | ||
| 75 | + | ||
| 66 | } | 76 | } |
src/main/java/cn/iocoder/dashboard/modules/tool/service/codegen/impl/ToolCodegenBuilder.java
| @@ -6,8 +6,8 @@ import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; | @@ -6,8 +6,8 @@ import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; | ||
| 6 | import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert; | 6 | import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert; |
| 7 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; | 7 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; |
| 8 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; | 8 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; |
| 9 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaColumnDO; | ||
| 10 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaTableDO; | 9 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO; |
| 10 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO; | ||
| 11 | import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenColumnHtmlTypeEnum; | 11 | import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenColumnHtmlTypeEnum; |
| 12 | import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenColumnListConditionEnum; | 12 | import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenColumnListConditionEnum; |
| 13 | import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenTemplateTypeEnum; | 13 | import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenTemplateTypeEnum; |
| @@ -21,8 +21,8 @@ import static cn.hutool.core.text.CharSequenceUtil.*; | @@ -21,8 +21,8 @@ import static cn.hutool.core.text.CharSequenceUtil.*; | ||
| 21 | 21 | ||
| 22 | /** | 22 | /** |
| 23 | * 代码生成器的 Builder,负责: | 23 | * 代码生成器的 Builder,负责: |
| 24 | - * 1. 将数据库的表 {@link ToolInformationSchemaTableDO} 定义,构建成 {@link ToolCodegenTableDO} | ||
| 25 | - * 2. 将数据库的列 {@link ToolInformationSchemaColumnDO} 构定义,建成 {@link ToolCodegenColumnDO} | 24 | + * 1. 将数据库的表 {@link ToolSchemaTableDO} 定义,构建成 {@link ToolCodegenTableDO} |
| 25 | + * 2. 将数据库的列 {@link ToolSchemaColumnDO} 构定义,建成 {@link ToolCodegenColumnDO} | ||
| 26 | */ | 26 | */ |
| 27 | @Component | 27 | @Component |
| 28 | public class ToolCodegenBuilder { | 28 | public class ToolCodegenBuilder { |
| @@ -112,7 +112,7 @@ public class ToolCodegenBuilder { | @@ -112,7 +112,7 @@ public class ToolCodegenBuilder { | ||
| 112 | LIST_OPERATION_RESULT_EXCLUDE_COLUMN.remove("createTime"); // 创建时间,还是需要返回的 | 112 | LIST_OPERATION_RESULT_EXCLUDE_COLUMN.remove("createTime"); // 创建时间,还是需要返回的 |
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | - public ToolCodegenTableDO buildTable(ToolInformationSchemaTableDO schemaTable) { | 115 | + public ToolCodegenTableDO buildTable(ToolSchemaTableDO schemaTable) { |
| 116 | ToolCodegenTableDO table = ToolCodegenConvert.INSTANCE.convert(schemaTable); | 116 | ToolCodegenTableDO table = ToolCodegenConvert.INSTANCE.convert(schemaTable); |
| 117 | initTableDefault(table); | 117 | initTableDefault(table); |
| 118 | return table; | 118 | return table; |
| @@ -135,7 +135,7 @@ public class ToolCodegenBuilder { | @@ -135,7 +135,7 @@ public class ToolCodegenBuilder { | ||
| 135 | table.setTemplateType(ToolCodegenTemplateTypeEnum.CRUD.getType()); | 135 | table.setTemplateType(ToolCodegenTemplateTypeEnum.CRUD.getType()); |
| 136 | } | 136 | } |
| 137 | 137 | ||
| 138 | - public List<ToolCodegenColumnDO> buildColumns(List<ToolInformationSchemaColumnDO> schemaColumns) { | 138 | + public List<ToolCodegenColumnDO> buildColumns(List<ToolSchemaColumnDO> schemaColumns) { |
| 139 | List<ToolCodegenColumnDO> columns = ToolCodegenConvert.INSTANCE.convertList(schemaColumns); | 139 | List<ToolCodegenColumnDO> columns = ToolCodegenConvert.INSTANCE.convertList(schemaColumns); |
| 140 | columns.forEach(this::initColumnDefault); | 140 | columns.forEach(this::initColumnDefault); |
| 141 | return columns; | 141 | return columns; |
src/main/java/cn/iocoder/dashboard/modules/tool/service/codegen/impl/ToolCodegenEngine.java
| @@ -9,6 +9,7 @@ import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; | @@ -9,6 +9,7 @@ import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; | ||
| 9 | import cn.iocoder.dashboard.common.pojo.CommonResult; | 9 | import cn.iocoder.dashboard.common.pojo.CommonResult; |
| 10 | import cn.iocoder.dashboard.common.pojo.PageParam; | 10 | import cn.iocoder.dashboard.common.pojo.PageParam; |
| 11 | import cn.iocoder.dashboard.common.pojo.PageResult; | 11 | import cn.iocoder.dashboard.common.pojo.PageResult; |
| 12 | +import cn.iocoder.dashboard.framework.codegen.config.CodegenProperties; | ||
| 12 | import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; | 13 | import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; |
| 13 | import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX; | 14 | import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX; |
| 14 | import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX; | 15 | import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX; |
| @@ -19,6 +20,7 @@ import cn.iocoder.dashboard.util.date.DateUtils; | @@ -19,6 +20,7 @@ import cn.iocoder.dashboard.util.date.DateUtils; | ||
| 19 | import com.google.common.collect.Maps; | 20 | import com.google.common.collect.Maps; |
| 20 | import org.springframework.stereotype.Component; | 21 | import org.springframework.stereotype.Component; |
| 21 | 22 | ||
| 23 | +import javax.annotation.PostConstruct; | ||
| 22 | import javax.annotation.Resource; | 24 | import javax.annotation.Resource; |
| 23 | import java.util.HashMap; | 25 | import java.util.HashMap; |
| 24 | import java.util.LinkedHashMap; | 26 | import java.util.LinkedHashMap; |
| @@ -45,18 +47,30 @@ public class ToolCodegenEngine { | @@ -45,18 +47,30 @@ public class ToolCodegenEngine { | ||
| 45 | */ | 47 | */ |
| 46 | private static final Map<String, String> TEMPLATES = MapUtil.<String, String>builder(new LinkedHashMap<>()) // 有序 | 48 | private static final Map<String, String> TEMPLATES = MapUtil.<String, String>builder(new LinkedHashMap<>()) // 有序 |
| 47 | // Java | 49 | // Java |
| 48 | - .put("codegen/java/controller/controller.vm", "java/${basePackage}/${table.moduleName}/controller/${table.businessName}/${table.className}Controller.java") | ||
| 49 | - .put("codegen/java/controller/vo/baseVO.vm", "java/${basePackage}/${table.moduleName}/controller/${table.businessName}/vo/${table.className}BaseVO.java") | ||
| 50 | - .put("codegen/java/controller/vo/createReqVO.vm", "java/${basePackage}/${table.moduleName}/controller/${table.businessName}/vo/${table.className}CreateReqVO.java") | ||
| 51 | - .put("codegen/java/controller/vo/pageReqVO.vm", "java/${basePackage}/${table.moduleName}/controller/${table.businessName}/vo/${table.className}PageReqVO.java") | ||
| 52 | - .put("codegen/java/controller/vo/respVO.vm", "java/${basePackage}/${table.moduleName}/controller/${table.businessName}/vo/${table.className}RespVO.java") | ||
| 53 | - .put("codegen/java/controller/vo/updateReqVO.vm", "java/${basePackage}/${table.moduleName}/controller/${table.businessName}/vo/${table.className}UpdateReqVO.java") | ||
| 54 | - .put("codegen/java/convert/convert.vm", "java/${basePackage}/${table.moduleName}/convert/${table.businessName}/${table.className}Convert.java") | ||
| 55 | - .put("codegen/java/dal/do.vm", "java/${basePackage}/${table.moduleName}/dal/dataobject/${table.businessName}/${table.className}DO.java") | ||
| 56 | - .put("codegen/java/dal/mapper.vm", "java/${basePackage}/${table.moduleName}/dal/mysql/${table.businessName}/${table.className}Mapper.java") | ||
| 57 | - .put("codegen/java/enums/errorcode.vm", "java/${basePackage}/${table.moduleName}/enums/${simpleModuleName_upperFirst}ErrorCodeConstants.java") | ||
| 58 | - .put("codegen/java/service/service.vm", "java/${basePackage}/${table.moduleName}/service/${table.businessName}/${table.className}Service.java") | ||
| 59 | - .put("codegen/java/service/serviceImpl.vm", "java/${basePackage}/${table.moduleName}/service/${table.businessName}/impl/${table.className}ServiceImpl.java") | 50 | + .put(javaTemplatePath("controller/controller"), |
| 51 | + javaFilePath("controller/${table.businessName}/${table.className}Controller")) | ||
| 52 | + .put(javaTemplatePath("controller/vo/baseVO"), | ||
| 53 | + javaFilePath("controller/${table.businessName}/vo/${table.className}BaseVO")) | ||
| 54 | + .put(javaTemplatePath("controller/vo/createReqVO"), | ||
| 55 | + javaFilePath("controller/${table.businessName}/vo/${table.className}CreateReqVO")) | ||
| 56 | + .put(javaTemplatePath("controller/vo/pageReqVO"), | ||
| 57 | + javaFilePath("controller/${table.businessName}/vo/${table.className}PageReqVO")) | ||
| 58 | + .put(javaTemplatePath("controller/vo/respVO"), | ||
| 59 | + javaFilePath("controller/${table.businessName}/vo/${table.className}RespVO")) | ||
| 60 | + .put(javaTemplatePath("controller/vo/updateReqVO"), | ||
| 61 | + javaFilePath("controller/${table.businessName}/vo/${table.className}UpdateReqVO")) | ||
| 62 | + .put(javaTemplatePath("convert/convert"), | ||
| 63 | + javaFilePath("convert/${table.businessName}/${table.className}Convert")) | ||
| 64 | + .put(javaTemplatePath("dal/do"), | ||
| 65 | + javaFilePath("dal/dataobject/${table.businessName}/${table.className}DO")) | ||
| 66 | + .put(javaTemplatePath("dal/mapper"), | ||
| 67 | + javaFilePath("dal/mysql/${table.businessName}/${table.className}Mapper")) | ||
| 68 | + .put(javaTemplatePath("enums/errorcode"), | ||
| 69 | + javaFilePath("enums/${simpleModuleName_upperFirst}ErrorCodeConstants")) | ||
| 70 | + .put(javaTemplatePath("service/service"), | ||
| 71 | + javaFilePath("service/${table.businessName}/${table.className}Service")) | ||
| 72 | + .put(javaTemplatePath("service/serviceImpl"), | ||
| 73 | + javaFilePath("service/${table.businessName}/impl/${table.className}ServiceImpl")) | ||
| 60 | // Vue | 74 | // Vue |
| 61 | // SQL | 75 | // SQL |
| 62 | .build(); | 76 | .build(); |
| @@ -64,6 +78,9 @@ public class ToolCodegenEngine { | @@ -64,6 +78,9 @@ public class ToolCodegenEngine { | ||
| 64 | @Resource | 78 | @Resource |
| 65 | private ToolCodegenBuilder codegenBuilder; | 79 | private ToolCodegenBuilder codegenBuilder; |
| 66 | 80 | ||
| 81 | + @Resource | ||
| 82 | + private CodegenProperties codegenProperties; | ||
| 83 | + | ||
| 67 | /** | 84 | /** |
| 68 | * 模板引擎,由 hutool 实现 | 85 | * 模板引擎,由 hutool 实现 |
| 69 | */ | 86 | */ |
| @@ -78,13 +95,12 @@ public class ToolCodegenEngine { | @@ -78,13 +95,12 @@ public class ToolCodegenEngine { | ||
| 78 | TemplateConfig config = new TemplateConfig(); | 95 | TemplateConfig config = new TemplateConfig(); |
| 79 | config.setResourceMode(TemplateConfig.ResourceMode.CLASSPATH); | 96 | config.setResourceMode(TemplateConfig.ResourceMode.CLASSPATH); |
| 80 | this.templateEngine = TemplateUtil.createEngine(config); | 97 | this.templateEngine = TemplateUtil.createEngine(config); |
| 81 | - // 初始化基础 bindingMap | ||
| 82 | - initGlobalBindingMap(); | ||
| 83 | } | 98 | } |
| 84 | 99 | ||
| 100 | + @PostConstruct | ||
| 85 | private void initGlobalBindingMap() { | 101 | private void initGlobalBindingMap() { |
| 86 | // 全局配置 | 102 | // 全局配置 |
| 87 | - globalBindingMap.put("basePackage", "cn.iocoder.dashboard.modules"); // TODO 基础包, 抽成参数 | 103 | + globalBindingMap.put("basePackage", codegenProperties.getBasePackage()); |
| 88 | // 全局 Java Bean | 104 | // 全局 Java Bean |
| 89 | globalBindingMap.put("CommonResultClassName", CommonResult.class.getName()); | 105 | globalBindingMap.put("CommonResultClassName", CommonResult.class.getName()); |
| 90 | globalBindingMap.put("PageResultClassName", PageResult.class.getName()); | 106 | globalBindingMap.put("PageResultClassName", PageResult.class.getName()); |
| @@ -137,4 +153,12 @@ public class ToolCodegenEngine { | @@ -137,4 +153,12 @@ public class ToolCodegenEngine { | ||
| 137 | return filePath; | 153 | return filePath; |
| 138 | } | 154 | } |
| 139 | 155 | ||
| 156 | + private static String javaTemplatePath(String path) { | ||
| 157 | + return "codegen/java/" + path + ".vm"; | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + private static String javaFilePath(String path) { | ||
| 161 | + return "java/${basePackage}/${table.moduleName}/" + path + ".java"; | ||
| 162 | + } | ||
| 163 | + | ||
| 140 | } | 164 | } |
src/main/java/cn/iocoder/dashboard/modules/tool/service/codegen/impl/ToolCodegenServiceImpl.java
| @@ -2,17 +2,18 @@ package cn.iocoder.dashboard.modules.tool.service.codegen.impl; | @@ -2,17 +2,18 @@ package cn.iocoder.dashboard.modules.tool.service.codegen.impl; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.iocoder.dashboard.common.pojo.PageResult; | 4 | import cn.iocoder.dashboard.common.pojo.PageResult; |
| 5 | +import cn.iocoder.dashboard.framework.codegen.config.CodegenProperties; | ||
| 5 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO; | 6 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO; |
| 6 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO; | 7 | import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO; |
| 7 | import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert; | 8 | import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert; |
| 8 | -import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolCodegenColumnMapper; | ||
| 9 | -import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolCodegenTableMapper; | ||
| 10 | -import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolInformationSchemaColumnMapper; | ||
| 11 | -import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolInformationSchemaTableMapper; | ||
| 12 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; | 9 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO; |
| 13 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; | 10 | import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO; |
| 14 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaColumnDO; | ||
| 15 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaTableDO; | 11 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO; |
| 12 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO; | ||
| 13 | +import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolCodegenColumnMapper; | ||
| 14 | +import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolCodegenTableMapper; | ||
| 15 | +import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolSchemaColumnMapper; | ||
| 16 | +import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolSchemaTableMapper; | ||
| 16 | import cn.iocoder.dashboard.modules.tool.service.codegen.ToolCodegenService; | 17 | import cn.iocoder.dashboard.modules.tool.service.codegen.ToolCodegenService; |
| 17 | import org.springframework.stereotype.Service; | 18 | import org.springframework.stereotype.Service; |
| 18 | import org.springframework.transaction.annotation.Transactional; | 19 | import org.springframework.transaction.annotation.Transactional; |
| @@ -30,9 +31,9 @@ import java.util.Map; | @@ -30,9 +31,9 @@ import java.util.Map; | ||
| 30 | public class ToolCodegenServiceImpl implements ToolCodegenService { | 31 | public class ToolCodegenServiceImpl implements ToolCodegenService { |
| 31 | 32 | ||
| 32 | @Resource | 33 | @Resource |
| 33 | - private ToolInformationSchemaTableMapper informationSchemaTableMapper; | 34 | + private ToolSchemaTableMapper schemaTableMapper; |
| 34 | @Resource | 35 | @Resource |
| 35 | - private ToolInformationSchemaColumnMapper informationSchemaColumnMapper; | 36 | + private ToolSchemaColumnMapper schemaColumnMapper; |
| 36 | @Resource | 37 | @Resource |
| 37 | private ToolCodegenTableMapper codegenTableMapper; | 38 | private ToolCodegenTableMapper codegenTableMapper; |
| 38 | @Resource | 39 | @Resource |
| @@ -43,15 +44,18 @@ public class ToolCodegenServiceImpl implements ToolCodegenService { | @@ -43,15 +44,18 @@ public class ToolCodegenServiceImpl implements ToolCodegenService { | ||
| 43 | @Resource | 44 | @Resource |
| 44 | private ToolCodegenEngine codegenEngine; | 45 | private ToolCodegenEngine codegenEngine; |
| 45 | 46 | ||
| 47 | + @Resource | ||
| 48 | + private CodegenProperties codegenProperties; | ||
| 49 | + | ||
| 46 | @Override | 50 | @Override |
| 47 | @Transactional | 51 | @Transactional |
| 48 | public Long createCodegen(String tableName) { | 52 | public Long createCodegen(String tableName) { |
| 49 | // 从数据库中,获得数据库表结构 | 53 | // 从数据库中,获得数据库表结构 |
| 50 | - ToolInformationSchemaTableDO schemaTable = informationSchemaTableMapper.selectByTableName(tableName); | 54 | + ToolSchemaTableDO schemaTable = schemaTableMapper.selectByTableName(tableName); |
| 51 | if (schemaTable == null) { | 55 | if (schemaTable == null) { |
| 52 | throw new RuntimeException(""); // TODO | 56 | throw new RuntimeException(""); // TODO |
| 53 | } | 57 | } |
| 54 | - List<ToolInformationSchemaColumnDO> schemaColumns = informationSchemaColumnMapper.selectListByTableName(tableName); | 58 | + List<ToolSchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableName); |
| 55 | if (CollUtil.isEmpty(schemaColumns)) { | 59 | if (CollUtil.isEmpty(schemaColumns)) { |
| 56 | throw new RuntimeException(""); // TODO | 60 | throw new RuntimeException(""); // TODO |
| 57 | } | 61 | } |
| @@ -119,4 +123,9 @@ public class ToolCodegenServiceImpl implements ToolCodegenService { | @@ -119,4 +123,9 @@ public class ToolCodegenServiceImpl implements ToolCodegenService { | ||
| 119 | return codegenEngine.execute(table, columns); | 123 | return codegenEngine.execute(table, columns); |
| 120 | } | 124 | } |
| 121 | 125 | ||
| 126 | + @Override | ||
| 127 | + public List<ToolSchemaTableDO> getSchemaTableList(String tableName, String tableComment) { | ||
| 128 | + return schemaTableMapper.selectList(codegenProperties.getDbSchemas(), tableName, tableComment); | ||
| 129 | + } | ||
| 130 | + | ||
| 122 | } | 131 | } |
src/main/resources/application.yaml
| @@ -44,10 +44,12 @@ spring: | @@ -44,10 +44,12 @@ spring: | ||
| 44 | 44 | ||
| 45 | # 芋道配置项,设置当前项目所有自定义的配置 | 45 | # 芋道配置项,设置当前项目所有自定义的配置 |
| 46 | yudao: | 46 | yudao: |
| 47 | - version: 1.0.0 | 47 | + info: |
| 48 | + version: 1.0.0 | ||
| 49 | + base-package: cn.iocoder.dashboard | ||
| 48 | web: | 50 | web: |
| 49 | api-prefix: /api | 51 | api-prefix: /api |
| 50 | - controller-package: cn.iocoder.dashboard | 52 | + controller-package: ${yudao.info.base-package} |
| 51 | security: | 53 | security: |
| 52 | token-header: Authorization | 54 | token-header: Authorization |
| 53 | token-secret: abcdefghijklmnopqrstuvwxyz | 55 | token-secret: abcdefghijklmnopqrstuvwxyz |
| @@ -66,6 +68,9 @@ yudao: | @@ -66,6 +68,9 @@ yudao: | ||
| 66 | height: 60 | 68 | height: 60 |
| 67 | file: | 69 | file: |
| 68 | base-path: http://127.0.0.1:1024/api/file/get/ | 70 | base-path: http://127.0.0.1:1024/api/file/get/ |
| 71 | + codegen: | ||
| 72 | + base-package: ${yudao.info.base-package}.modules | ||
| 73 | + db-schemas: ruoyi-vue-pro | ||
| 69 | 74 | ||
| 70 | # Apollo 配置中心 | 75 | # Apollo 配置中心 |
| 71 | apollo: | 76 | apollo: |
| @@ -89,7 +94,7 @@ mybatis-plus: | @@ -89,7 +94,7 @@ mybatis-plus: | ||
| 89 | logic-delete-value: 1 # 逻辑已删除值(默认为 1) | 94 | logic-delete-value: 1 # 逻辑已删除值(默认为 1) |
| 90 | logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) | 95 | logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) |
| 91 | mapper-locations: classpath*:mapper/*.xml | 96 | mapper-locations: classpath*:mapper/*.xml |
| 92 | - type-aliases-package: cn.iocoder.dashboard.modules.*.dal.mysql.dataobject | 97 | + type-aliases-package: ${yudao.info.base-package}.modules.*.dal.dataobject |
| 93 | 98 | ||
| 94 | # Actuator 监控端点的配置项 | 99 | # Actuator 监控端点的配置项 |
| 95 | management: | 100 | management: |
src/main/resources/banner.txt
| 1 | 芋道源码 http://www.iocoder.cn | 1 | 芋道源码 http://www.iocoder.cn |
| 2 | -Application Version: ${yudao.version} | 2 | +Application Version: ${yudao.info.version} |
| 3 | Spring Boot Version: ${spring-boot.version} | 3 | Spring Boot Version: ${spring-boot.version} |
| 4 | -//////////////////////////////////////////////////////////////////// | ||
| 5 | -// _ooOoo_ // | ||
| 6 | -// o8888888o // | ||
| 7 | -// 88" . "88 // | ||
| 8 | -// (| ^_^ |) // | ||
| 9 | -// O\ = /O // | ||
| 10 | -// ____/`---'\____ // | ||
| 11 | -// .' \\| |// `. // | ||
| 12 | -// / \\||| : |||// \ // | ||
| 13 | -// / _||||| -:- |||||- \ // | ||
| 14 | -// | | \\\ - /// | | // | ||
| 15 | -// | \_| ''\---/'' | | // | ||
| 16 | -// \ .-\__ `-` ___/-. / // | ||
| 17 | -// ___`. .' /--.--\ `. . ___ // | ||
| 18 | -// ."" '< `.___\_<|>_/___.' >'"". // | ||
| 19 | -// | | : `- \`.;`\ _ /`;.`/ - ` : | | // | ||
| 20 | -// \ \ `-. \_ __\ /__ _/ .-` / / // | ||
| 21 | -// ========`-.____`-.___\_____/___.-`____.-'======== // | ||
| 22 | -// `=---=' // | ||
| 23 | -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // | ||
| 24 | -// 佛祖保佑 永不宕机 永无BUG // | ||
| 25 | -//////////////////////////////////////////////////////////////////// | 4 | + |
| 5 | +.__ __. ______ .______ __ __ _______ | ||
| 6 | +| \ | | / __ \ | _ \ | | | | / _____| | ||
| 7 | +| \| | | | | | | |_) | | | | | | | __ | ||
| 8 | +| . ` | | | | | | _ < | | | | | | |_ | | ||
| 9 | +| |\ | | `--' | | |_) | | `--' | | |__| | | ||
| 10 | +|__| \__| \______/ |______/ \______/ \______| | ||
| 11 | + | ||
| 12 | +███╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ | ||
| 13 | +████╗ ██║██╔═══██╗ ██╔══██╗██║ ██║██╔════╝ | ||
| 14 | +██╔██╗ ██║██║ ██║ ██████╔╝██║ ██║██║ ███╗ | ||
| 15 | +██║╚██╗██║██║ ██║ ██╔══██╗██║ ██║██║ ██║ | ||
| 16 | +██║ ╚████║╚██████╔╝ ██████╔╝╚██████╔╝╚██████╔╝ | ||
| 17 | +╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ |
src/test/java/cn/iocoder/dashboard/modules/tool/dal/mysql/coegen/ToolInformationSchemaColumnMapperTest.java
| 1 | package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; | 1 | package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; |
| 2 | 2 | ||
| 3 | import cn.iocoder.dashboard.TestApplication; | 3 | import cn.iocoder.dashboard.TestApplication; |
| 4 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaColumnDO; | 4 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO; |
| 5 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 6 | import org.springframework.boot.test.context.SpringBootTest; | 6 | import org.springframework.boot.test.context.SpringBootTest; |
| 7 | 7 | ||
| @@ -15,11 +15,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; | @@ -15,11 +15,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; | ||
| 15 | public class ToolInformationSchemaColumnMapperTest { | 15 | public class ToolInformationSchemaColumnMapperTest { |
| 16 | 16 | ||
| 17 | @Resource | 17 | @Resource |
| 18 | - private ToolInformationSchemaColumnMapper toolInformationSchemaColumnMapper; | 18 | + private ToolSchemaColumnMapper toolInformationSchemaColumnMapper; |
| 19 | 19 | ||
| 20 | @Test | 20 | @Test |
| 21 | public void testSelectListByTableName() { | 21 | public void testSelectListByTableName() { |
| 22 | - List<ToolInformationSchemaColumnDO> columns = toolInformationSchemaColumnMapper | 22 | + List<ToolSchemaColumnDO> columns = toolInformationSchemaColumnMapper |
| 23 | .selectListByTableName("inf_config"); | 23 | .selectListByTableName("inf_config"); |
| 24 | assertTrue(columns.size() > 0); | 24 | assertTrue(columns.size() > 0); |
| 25 | } | 25 | } |
src/test/java/cn/iocoder/dashboard/modules/tool/dal/mysql/coegen/ToolInformationSchemaTableMapperTest.java
| 1 | package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; | 1 | package cn.iocoder.dashboard.modules.tool.dal.mysql.coegen; |
| 2 | 2 | ||
| 3 | import cn.iocoder.dashboard.TestApplication; | 3 | import cn.iocoder.dashboard.TestApplication; |
| 4 | -import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaTableDO; | 4 | +import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO; |
| 5 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 6 | import org.springframework.boot.test.context.SpringBootTest; | 6 | import org.springframework.boot.test.context.SpringBootTest; |
| 7 | 7 | ||
| @@ -14,11 +14,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; | @@ -14,11 +14,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; | ||
| 14 | class ToolInformationSchemaTableMapperTest { | 14 | class ToolInformationSchemaTableMapperTest { |
| 15 | 15 | ||
| 16 | @Resource | 16 | @Resource |
| 17 | - private ToolInformationSchemaTableMapper toolInformationSchemaTableMapper; | 17 | + private ToolSchemaTableMapper toolInformationSchemaTableMapper; |
| 18 | 18 | ||
| 19 | @Test | 19 | @Test |
| 20 | public void tstSelectListByTableSchema() { | 20 | public void tstSelectListByTableSchema() { |
| 21 | - List<ToolInformationSchemaTableDO> tables = toolInformationSchemaTableMapper | 21 | + List<ToolSchemaTableDO> tables = toolInformationSchemaTableMapper |
| 22 | .selectListByTableSchema("ruoyi-vue-pro"); | 22 | .selectListByTableSchema("ruoyi-vue-pro"); |
| 23 | assertTrue(tables.size() > 0); | 23 | assertTrue(tables.size() > 0); |
| 24 | } | 24 | } |