第4章 代码生成器的应用
作者:ThinkGem
更新日期:2013-12-10
1 操作步骤
- 使用ERMaster建立数据模型(1节)
- 进入代码生成模块,添加业务表配置(2节)
- 进入代码生成模块,添加生成方案配置并生成代码(3节)
- 根据生成代码的Controller,配置菜单和权限(4节)
- 进行数据库设计,建表。遇见字段需要存储中文字符的时候要用nvarchar,不要用varchar。
- 自己建立表模型是请拷贝一份“db/test/jeesite.erm”文件,在此模型基础上建立自己的业务表即可。
1.1 数据模型
1.1.1 业务表必须包含的字段
红框内为必须有的字段:
1.1.2 一对多必须包含的字段
红框内为必须有的字段:
1.1.3 树结构必须包含的字段
红框内为必须有的字段:
1.1.4 快速添加必须包含的字段
在test/jeesite.erm文件中已内置两个字段组,分别是common和tree_field,在表编辑界面中可快速选择并添加相应字段,如下图:
1.2 业务表配置
1.2.1 第一步,选择表
1.2.2 第二步,配置表
- 表名:物理表表名
- 说明:物理表表描述
- 类名:生成表关联的实体类名称
- 父表表名:关联父表的表名,外键:当前表关联父表的主键,如果当前表为子表,需在此指定父表及外键。外键字段需在字段列表中手动设置属性名(对象.主键,例如:将userId修改为id)
- 列名:数据表定义的字段名称
- 说明:数据表定义的字段注释
- 物理类型:数据表定义字段类型
- Java类型:实体对象的属性字段类型
- Java属性名称:实体对象的属性字段(对象名.属性名|属性名2|属性名3,例如:用户id|name|loginName,属性名2和属性名3为Join时关联查询的字段)
- 主键:是否是主键字段
- 可空:该字段是否可为空
- 插入:是否是插入字段,如果是则包含在insert语句里
- 编辑:是否是编辑字段,如果是则包含在update语句里
- 列表:是否是列表查询,如果是则包含在列表页的表格列里。
- 查询:是否是查询字段,如果是则包含在查询页的查询列表里。
- 查询方式:查询字段的查询方式,也就是where后的条件表达式,如:字段1=字段2 AND 字段3>字段4 AND 字段5 !=字段6。
- 字段生成方案:表单中字段生成的样式,如:input,select,treeselect,areatext等等
- 字典类型:如果字段生成方案为:下拉框、复选框、单选框,则该字段必须指定一个字典类型,字典类型为字段管理中的字典类型。
- 排序:字段生成的先后顺序,升序。
1.3 生成方案配置
- 方案名称:自定的方案名称,随意写即可。
- 模板分类:生成的模板,目前可生成如下模板:增删改查(单表)、增删改查(一对多)、仅持久层(dao/entity/mapper)、树结构表(一体)。
- 生成包路径:生成哪个包下。
- 生成模块名:生成包下的模块名称,模块名称下进行分层。
- 生成子模块名:分层下的文件夹,可为空。
- 生成功描述:生成到类注释里。
- 生成功能名:生成功能提示,如TAB上、列表上、提示信息等。
- 生成功能作者:开发者姓名
- 生成选项:是否替换现有文件,提供重复生成,覆盖原有文件。
- 根据控制器@RequestMapping及@RequiresPermissions添加菜单和权限标志
1.4 菜单权限
1.5 生成示例
导入“db/gen/example_xx.sql”文件(默认已导入),将导入“业务表配置”、“生成方案配置”、“菜单权限”示例信息,生成代码后效果如下:
1.5.1 菜单
1.5.2 单表
1.5.3 主子表
1.5.4 树结构
1.6 主子表(一对多)注意事项
一对多生成需要配置一个主表,和一个或多个子表。
子表配置需要指定父表表名和外键,如下:
表配置结果,如下:
生成方案中选择“增删改查(一对多)”,业务表表名选择“主表”,如下:
其它操作与单表生成相同。