实体类编写规范

(1)继承 BaseEntity
(2)添加注解:@Entity,@DynamicInsert,@DodoEntity

例子:学生实体类

//javax.persistence.Entity
@Entity
@DynamicInsert
@DodoEntity(
    name = "学生信息", 
    singleRecord = true,
    defaultOrderBy = {...}
    actions = { DodoAction.ALL }
    levelOne = @DodoMenu(name = "学籍管理", sortSeq = 4),
    levelTwo = @DodoMenu(name = "基础信息管理", sortSeq = 1),
    levelThree = @DodoMenu(name = "学生信息管理", sortSeq = 1)
)
public class Student extends BaseEntity {
    //......
}

@DodoEntity

@DodoEntity.name 指定实体类模型名称

@DodoEntity.singleRecord 默认false,指定本模块是否为单记录,一般用于系统的全局配置表

@DodoEntity.defaultOrderBy 可以指定默认的排序字段及排序方式

@DodoEntity.actions 是个数组,可以添加一个或者多个,可选的取值范围:

(1)DodoAction.ADD         生成添加相关代码 
(2)DodoAction.UPDATE      生成修改相关代码
(3)DodoAction.DELETE      生成删除相关代码
(4)DodoAction.VIEW        生成列表、查看、弹出筛选、统计筛选等相关代码
(5)DodoAction.EXPORT      生成导出Excel相关代码
(6)DodoAction.CHART       生成统计相关代码
(7)DodoAction.EXCELIMPORT 生成导入Excel数据相关代码
(8)DodoAction.EXCELUPDATE 生成批量导出到Excel相关代码
(9)DodoAction.ALL         生成全部代码

@DodoEntity.levelOne :一级菜单配置

@DodoEntity.levelTwo :二级菜单配置

@DodoEntity.levelThree :三级菜单配置

@DodoMenu.sortSeq 说明:

(1)@DodoEntity.levelOne时,sortSeq表示全部一级菜单的排列顺序,一级菜单的sortSeq取值从4开始,因为1 2 3 已经被框架基础实体类使用

(2)@DodoEntity.levelTwo为2时,sortSeq表示该二级菜单,在其父级(一级)菜单的所有子(二级)菜单中的排列顺序

(3)@DodoEntity.levelThree为3时,sortSeq表示该三级菜单,在其父级(二级)菜单的所有子(三级)菜单中的排列顺序

下面这个例子,所表示的模块菜单为:学籍管理 - 基础信息管理 - 学生管理

学籍管理为一个一级菜单,排在第四位

基础信息管理为一个二级菜单,排在学籍管理的所有二级菜单的第一位

学生信息管理为一个三级菜单,排在基础信息管理的所有三级菜单的第一位

班级信息管理为一个三级菜单,排在基础信息管理的所有三级菜单的第二位

// 学生信息
@DodoEntity(
    levelOne = @DodoMenu(name = "学籍管理", sortSeq = 4),
    levelTwo = @DodoMenu(name = "基础信息管理", sortSeq = 1),
    levelThree = @DodoMenu(name = "学生信息管理", sortSeq = 1)
)
public class Student extends BaseEntity {
    //......
}

//班级信息
@DodoEntity(
    levelOne = @DodoMenu(name = "学籍管理", sortSeq = 4),
    levelTwo = @DodoMenu(name = "基础信息管理", sortSeq = 1),
    levelThree = @DodoMenu(name = "班级信息管理", sortSeq = 2)
)
public class Classinfo extends BaseEntity {
    //......
}

建议的包命名规范

/dodo/src/main/java/com/gentools/dodo_generate_config.properties
#(10)配置用于生成代码的包POJO类所在的包,多个包使用`|`隔开
dodo.code.generate.entity.basePackage=com.example.entity

以上配置表示自己编写的实体类所在的根包名,也是代码生成的时候,查找实体类的包名

建议:

所有实体类都按照菜单的顺序,来分包,这样一来,菜单顺序和包的组织顺序完全一致,非常方便维护

如上面例子,学生信息班级信息按照此规范,所在的包,应该是:

// school_system_4 对应的是 levelOne=@DodoMenu(name = "学籍管理", sortSeq = 4)
// baseinfo_1 对应的是 levelTwo=@DodoMenu(name = "基础信息管理", sortSeq = 1)
com.example.entity.school_system_4.baseinfo_1
Copyright © DodoFramework 2020 all right reservedModify At: 2022-05-30 15:07:32