实体类编写规范

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

例子:学生实体类

  1. //javax.persistence.Entity
  2. @Entity
  3. @DynamicInsert
  4. @DodoEntity(
  5. name = "学生信息",
  6. singleRecord = true,
  7. actions = { DodoAction.ALL }
  8. levelOne = @DodoMenu(name = "学籍管理", sortSeq = 4),
  9. levelTwo = @DodoMenu(name = "基础信息管理", sortSeq = 1),
  10. levelThree = @DodoMenu(name = "学生信息管理", sortSeq = 1)
  11. )
  12. public class Student extends BaseEntity {
  13. //......
  14. }

@DodoEntity

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

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

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

  1. 1DodoAction.ADD 生成添加相关代码
  2. 2DodoAction.UPDATE 生成修改相关代码
  3. 3DodoAction.DELETE 生成删除相关代码
  4. 4DodoAction.VIEW 生成列表、查看、弹出筛选、统计筛选等相关代码
  5. 5DodoAction.EXPORT 生成导出Excel相关代码
  6. 6DodoAction.CHART 生成统计相关代码
  7. 7DodoAction.EXCELIMPORT 生成导入Excel数据相关代码
  8. 8DodoAction.EXCELUPDATE 生成批量导出到Excel相关代码
  9. 9DodoAction.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表示该三级菜单,在其父级(二级)菜单的所有子(三级)菜单中的排列顺序

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

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

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

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

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

  1. // 学生信息
  2. @DodoEntity(
  3. levelOne = @DodoMenu(name = "学籍管理", sortSeq = 4),
  4. levelTwo = @DodoMenu(name = "基础信息管理", sortSeq = 1),
  5. levelThree = @DodoMenu(name = "学生信息管理", sortSeq = 1)
  6. )
  7. public class Student extends BaseEntity {
  8. //......
  9. }
  10. //班级信息
  11. @DodoEntity(
  12. levelOne = @DodoMenu(name = "学籍管理", sortSeq = 4),
  13. levelTwo = @DodoMenu(name = "基础信息管理", sortSeq = 1),
  14. levelThree = @DodoMenu(name = "班级信息管理", sortSeq = 2)
  15. )
  16. public class Classinfo extends BaseEntity {
  17. //......
  18. }

建议的包命名规范

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

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

建议:

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

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

  1. // school_system_4 对应的是 levelOne=@DodoMenu(name = "学籍管理", sortSeq = 4)
  2. // baseinfo_1 对应的是 levelTwo=@DodoMenu(name = "基础信息管理", sortSeq = 1)
  3. com.example.entity.school_system_4.baseinfo_1