package com.iailab.module.infra.dal.dataobject.codegen; import com.iailab.framework.mybatis.core.dataobject.BaseDO; import com.iailab.module.infra.dal.dataobject.db.DataSourceConfigDO; import com.iailab.module.infra.enums.codegen.CodegenFrontTypeEnum; import com.iailab.module.infra.enums.codegen.CodegenSceneEnum; import com.iailab.module.infra.enums.codegen.CodegenTemplateTypeEnum; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * 代码生成 table 表定义 * * @author iailab */ @TableName(value = "infra_codegen_table", autoResultMap = true) @KeySequence("infra_codegen_table_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @Accessors(chain = true) @EqualsAndHashCode(callSuper = true) public class CodegenTableDO extends BaseDO { /** * ID 编号 */ @TableId private Long id; /** * 数据源编号 * * 关联 {@link DataSourceConfigDO#getId()} */ private Long dataSourceConfigId; /** * 生成场景 * * 枚举 {@link CodegenSceneEnum} */ private Integer scene; // ========== 表相关字段 ========== /** * 表名称 * * 关联 {@link TableInfo#getName()} */ private String tableName; /** * 表描述 * * 关联 {@link TableInfo#getComment()} */ private String tableComment; /** * 备注 */ private String remark; // ========== 类相关字段 ========== /** * 模块名,即一级目录 * * 例如说,system、infra、tool 等等 */ private String moduleName; /** * 业务名,即二级目录 * * 例如说,user、permission、dict 等等 */ private String businessName; /** * 类名称(首字母大写) * * 例如说,SysUser、SysMenu、SysDictData 等等 */ private String className; /** * 类描述 */ private String classComment; /** * 作者 */ private String author; // ========== 生成相关字段 ========== /** * 模板类型 * * 枚举 {@link CodegenTemplateTypeEnum} */ private Integer templateType; /** * 代码生成的前端类型 * * 枚举 {@link CodegenFrontTypeEnum} */ private Integer frontType; // ========== 菜单相关字段 ========== /** * 父菜单编号 * * 关联 MenuDO 的 id 属性 */ private Long parentMenuId; // ========== 主子表相关字段 ========== /** * 主表的编号 * * 关联 {@link CodegenTableDO#getId()} */ private Long masterTableId; /** * 【自己】子表关联主表的字段编号 * * 关联 {@link CodegenColumnDO#getId()} */ private Long subJoinColumnId; /** * 主表与子表是否一对多 * * true:一对多 * false:一对一 */ private Boolean subJoinMany; // ========== 树表相关字段 ========== /** * 树表的父字段编号 * * 关联 {@link CodegenColumnDO#getId()} */ private Long treeParentColumnId; /** * 树表的名字字段编号 * * 名字的用途:新增或修改时,select 框展示的字段 * * 关联 {@link CodegenColumnDO#getId()} */ private Long treeNameColumnId; }