在线代码生成、单表、主子表、树表、快速入门
代码生成是帮助开发者快速生成通用增删改查的工具,一般情况生成后的代码部署后即可运行。
然后对生成后的代码进行布局调整,增加业务代码,实现你的业务。极大地简化了你的基础重复代码编写时间。
代码生成示例,可参考初始化脚本自带的test_data和test_tree两个配置。
主子表代码生成流程
- 配置主表信息,主表字段,主表生成信息,选择“主子表”模板,保存主表配置。
- 配置子表信息,选择父表和当前表关联父表主键的外键字段,子表字段,下一步。
- 回到主表生成界面,点击“生成代码”按钮,可同时生成主表和子表的增删改查代码。
- 配置菜单和权限标识,与Controller里@RequestMapping和@RequiresPermissions对应。
- 关闭服务,刷新Eclipse工程,启动服务。
树表代码生成流程
- 与主子表不同的地方,如下:
- 在生成信息选项卡中选择“树表“生成模板。
- 设置“树显示编码字段”和“树显示名称字段”即可。
JeeSite 核心库设计模型
地址:https://gitee.com/thinkgem/jeesite4/blob/master/modules/core/db/core.erm
该文件你可以通过 Eclipse 的 ERMaster 插件去打开它(图形化展示,表和表之间的 ER 图关系)插件地址:https://gitee.com/thinkgem/ermasterr/raw/master/dropins/ermasterr/eclipse/plugins/org.insightech.er_1.1.13.jar
如何设计自己的数据库模型:你可以打开 web 项目下 /db/test.erm 文件,可以复制该模板文件,进行设计。
一些内置字段,如:创建者、创建时间、更新者、更新时间、状态、备注,等,也可通过该模型快速创建。
代码生成选项
基本信息
- 表名:物理表表名(实际表名)
- 表说明:物理表表描述,生成到各个类上
- 实体类名称:实体类的名称,所有类的前缀
- 功能作者:开发者姓名,生成到类注释上
- 关联父表的表名:子表配置的选项,选择父表表名
- 本表关联的外键名:子表配置的选项,与父表主键关联的字段,也叫外键
字段信息
1)字段
- 列名:数据表定义的字段名称,通过驼峰命名法转换为实体类的字段名
- 列说明:数据表定义的字段注释,如果注释中带括号,或冒号,则括号中或冒号后的内容不生成到列标签中,只在列注释中体现。
- 字段类型:数据表定义字段类型
- 属性类型:也叫Java类型,是实体类的属性字段类型
属性名称:也叫Java字段,是实体类的属性字段名,支持复杂格式:对象名.属性名属性名2,例如:用户user.userCodeuserName,主要用于树选择组件;如果子表,则写主表实体类名+主键,如:formEntity.entityId。
主键:是否是主键字段。选择为“隐藏域字段”代表:自动生成主键;选择为“选择文本域”则代表有用户来手填主键值。
- 插入:是否是插入字段,如果是则包含在insert语句里
- 更新:是否是更新字段,如果是则包含在update语句里,不一定不出现在表单上
2)列表
- 列表:是否是列表查询,如果是则包含在列表页的表格列里。
- 查询:是否是查询字段,如果是则包含在查询页的查询列表里。
- 匹配方式:查询字段的查询方式,也就是where后的条件表达式,如:字段1=字段2 AND 字段3>字段4 AND 字段5 !=字段6。
3)表单
- 编辑:是否是编辑字段,如果是则包含在update语句里,并出现在表单上
- 必填:该字段是否可为空,不选代表为必填字段
- 控件类型:表单中字段生成的样式,如:input,select,treeselect,areatext等等
- 栅格:就是 BootStrap 的栅格布局,格式:行/标签/输入框,6/4/8、12/2/10、12/2/5、12/2/8
- 新行:该表单控件新起一行生成,也就是生成一个新的 标签。
- 字典类型:如果控件类型:下拉框、复选框、单选框,则该字段必须指定一个字典类型,字典类型为字段管理中的字典类型。
- 字段验证:数值、整数、日期、时间、账号、邮件、手机号、身份证号等。
生成信息
- 生成模板:单表/主子表(增删改查)、树表/树结构表(增删改查)、业务层和持久层(增删改查)、仅持久层(dao/mapper/entity)
- 生成包路径:生成在哪个java包下,格式:{包名}/{模块名}/{分层(dao,entity,service,web)}/{子模块名}/{java类} 可从参数设置里修改:“gen.defaultPackageName” 的键值,来修改此默认值。如 com.jeesite.modules
- 生成模块名:生成包下的模块名称,模块名称下进行分层,也可理解为子系统名,例如 sys
- 生成子模块名:分层下的文件夹,可选,{分层(entity/dao/service/controller)}/{子模块名}/,可为空。
- 生成功能名:生成到类注释里。
- 功能名(简写):生成功能提示,如TAB上、列表上、提示信息(某某成功、某某失败)等。
生成基础路径:填写磁盘绝对路径,若不填写,则生成到当前Web项目下 其它选项
是否有启用停用:生成停用启用功能,生成表必须要有status字段。
- 是否有删除功能:生成删除数据功能,可删除数据。
- 是否可上传图片:生成上传图片控件。
- 是否可上传附件:生成上传文件控件。
自定义生成模板
如果生成模板不够用,你也可以自定义生成模板,只需要拷贝jeesite-framework.jar/src/main/resources/templates/modules/gen/config.xml
重名为config-custom.xml
放到任意项目的/src/main/resources/templates/modules/gen/
目录下即可,然后修改你的生成配置就可生效。