完成代码生成器的 sql 生成

This commit is contained in:
YunaiV
2021-02-12 12:58:41 +08:00
parent b8351f50f2
commit 937c51f4ec
14 changed files with 421 additions and 520 deletions

View File

@ -33,7 +33,7 @@ public class SysUserSessionDO extends BaseDO {
/**
* 用户编号
*
* 外键 {@link SysUserDO#getId()}
* 关联 {@link SysUserDO#getId()}
*/
private Long userId;
/**

View File

@ -29,7 +29,7 @@ public class SysDeptDO extends BaseDO {
/**
* 父部门ID
*
* 外键 {@link #id}
* 关联 {@link #id}
*/
private Long parentId;
/**

View File

@ -29,7 +29,7 @@ public class ToolCodegenColumnDO extends BaseDO {
/**
* 表编号
*
* 外键 {@link ToolCodegenTableDO#getId()}
* 关联 {@link ToolCodegenTableDO#getId()}
*/
private Long tableId;

View File

@ -1,6 +1,7 @@
package cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysMenuDO;
import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenTemplateTypeEnum;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Builder;
@ -86,4 +87,11 @@ public class ToolCodegenTableDO extends BaseDO {
// ========== 菜单相关字段 ==========
/**
* 父菜单编号
*
* 关联 {@link SysMenuDO#getId()}
*/
private Long parentMenuId;
}

View File

@ -12,6 +12,8 @@ import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.codegen.config.CodegenProperties;
import cn.iocoder.dashboard.framework.excel.core.annotations.DictFormat;
import cn.iocoder.dashboard.framework.excel.core.util.ExcelUtils;
import cn.iocoder.dashboard.framework.logger.operatelog.core.annotations.OperateLog;
import cn.iocoder.dashboard.framework.logger.operatelog.core.enums.OperateTypeEnum;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
@ -84,6 +86,7 @@ public class ToolCodegenEngine {
.put(vueTemplatePath("api/api.js"),
vueFilePath("api/${table.moduleName}/${classNameVar}.js"))
// SQL
.put("codegen/sql/sql.vm", "sql/sql.sql")
.build();
@Resource
@ -124,10 +127,12 @@ public class ToolCodegenEngine {
globalBindingMap.put("BaseDOClassName", BaseDO.class.getName());
globalBindingMap.put("QueryWrapperClassName", QueryWrapperX.class.getName());
globalBindingMap.put("BaseMapperClassName", BaseMapperX.class.getName());
// Util 了诶
// Util 工具类
globalBindingMap.put("ServiceExceptionUtilClassName", ServiceExceptionUtil.class.getName());
globalBindingMap.put("DateUtilsClassName", DateUtils.class.getName());
globalBindingMap.put("ExcelUtilsClassName", ExcelUtils.class.getName());
globalBindingMap.put("OperateLogClassName", OperateLog.class.getName());
globalBindingMap.put("OperateTypeEnumClassName", OperateTypeEnum.class.getName());
}
public Map<String, String> execute(ToolCodegenTableDO table, List<ToolCodegenColumnDO> columns) {
@ -146,7 +151,10 @@ public class ToolCodegenEngine {
bindingMap.put("simpleClassName", simpleClassName);
bindingMap.put("simpleClassName_underlineCase", toUnderlineCase(simpleClassName)); // 将 DictType 转换成 dict_type
bindingMap.put("classNameVar", lowerFirst(simpleClassName)); // 将 DictType 转换成 dictType用于变量
bindingMap.put("simpleClassName_strikeCase", toSymbolCase(simpleClassName, '-')); // 将 DictType 转换成 dict-type
String simpleClassNameStrikeCase = toSymbolCase(simpleClassName, '-'); // 将 DictType 转换成 dict-type
bindingMap.put("simpleClassName_strikeCase", simpleClassNameStrikeCase);
// permission 前缀
bindingMap.put("permissionPrefix", table.getModuleName() + ":" + simpleClassNameStrikeCase);
// 执行生成
final Map<String, String> result = Maps.newLinkedHashMapWithExpectedSize(TEMPLATES.size()); // 有序