在线代码生成、单表、主子表、树表、快速入门

代码生成是帮助开发者快速生成通用增删改查的工具,一般情况生成后的代码部署后即可运行。

然后对生成后的代码进行布局调整,增加业务代码,实现你的业务。极大地简化了你的基础重复代码编写时间。

代码生成示例,可参考初始化脚本自带的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/目录下即可,然后修改你的生成配置就可生效。