前言

本栏目内容为橙单代码生成工具的在线帮助文档,可通过橙单工具中每个配置页面右上角的「帮助」按钮直接跳转。

数据源

在开始介绍操作之前,我们先说明一下,只有为导入到服务内的数据表创建数据源之后,才会生成 Controller 访问接口代码以及相关的权限数据,具体生成逻辑见如下表格。

配置状态 代码生成结果 生成权限数据
数据表未导入到服务 无任何代码生成 不会
数据表仅仅导入到服务 实体对象、DTO & VO 对象、Dao 对象和 Mapper.xml 不会
数据表导入到服务并配置数据源 Controller 对象、Service & ServiceImpl 对象、实体对象、DTO & VO 对象、Dao 对象和 Mapper.xml
  • 在服务列表页面,点击「业务服务」的「数据源」按钮,即可进入当前服务的数据源列表页面。
  • 在数据源列表页面点击「新建」按钮,即可打开数据源的编辑弹框。具体配置可见下图文字说明。

数据源关联

橙单目前已经支持一对一、一对多和多对多等数据表之间的标准化关联,具体配置前提条件如下。

关联类型 关联从表 关联中间表 跨服务关联 级联增删改查 关联表过滤
一对一 需配置数据源 支持 支持 从表过滤
一对多 需配置数据源 支持 支持 从表过滤
多对多 需配置数据源 必须是服务数据表,是否配置数据源可按需求而定。 支持,但主表和中间表必须位于相同服务。 支持 中间表过滤

数据源关联中的大部分配置项都非常简单明确,这里不再做过多介绍。下面我们仅仅列出与接口代码生成关系密切的几个配置项。

级联添加从表

  • 选择支持会在 Controller 类的 add 接口参数中包含从表数据的 DTO 对象,如果多个关联支持「级联添加从表」,该接口参数就会包含多个从表的 DTO 对象,否则仅包含主表的 DTO 对象。
  • 所有支持「级联添加」的从表数据,会和主表数据在同一事务内提交新增。

级联更新从表

  • 选择支持会在 Controller 类的 update 接口参数中包含从表数据的 DTO 对象,如果多个关联支持「级联更新从表」,该接口参数就会包含多个从表的 DTO 对象,否则仅包含主表的 DTO 对象。
  • 所有支持「级联更新」的从表数据,会和主表数据在同一事务内提交更新。

级联删除从表

  • 对应的 Controller 类的 delete 接口方法参数,仅包含主表的待删除数据主键 ID,然后调用下图的 Service 方法进行数据删除。
  • 所有支持「级联删除」的从表数据,会和主表数据在同一事务内删除。

从表过滤

目前仅一对一和一对多关联支持从表过滤。配置支持后,会在 Controller 类的 list 接口方法参数中,包含从表的 DTO 对象作为查询的过滤对象。

中间表过滤

目前多对多关联仅支持中间表过滤。配置支持后,会在 Controller 类的「列表查询中间表数据」接口方法参数中,包含中间表的 DTO 对象作为查询的过滤对象。具体代码实现与前面的「从表过滤」基本一致,这里不再做过多赘述。

聚合计算

为当前数据源先配置「一对多」或「多对多」关联,再切换到「聚合计算」标签页,点击「新建」按钮后打开聚合计算的编辑弹框。

重点!仅支持基于「一对多」和「多对多」的关联数据聚合计算。由于「一对一」的从表数据和主表没有形成聚合关系,因此无需支持该功能。

下图配置的聚合计算字段「contractTotalAmount」并不会物理的保存到业务主表,而是在「列表查询」、「数据详情」和「批量导出」等接口实现中,会根据从表的数据动态执行批量聚合计算。此一过程均在后台服务中完成,以降低数据库的负载压力,提升系统的整体运行时效率。

  • 字段别名,聚合计算后返回给前端的数据字段名。
  • 显示名,前端可将该名称直接显示在表格列标题。
  • 聚合关联,仅能选择当前数据源的「一对多」和「多对多」。
  • 聚合字段,从「关联从表」和「关联中间表」中选择参与聚合计算的字段。
  • 字段类型,聚合计算后的字段类型。
  • 计算规则,目前仅支持 SUM、COUNT、AVERAGE、MIN 和 MAX。
  • 过滤参数设置,只有符合以下过滤条件的「一对多从表」和「多对多中间表」中的数据,才会参与聚合字段的动态计算。

结语

赠人玫瑰,手有余香,感谢您的支持和关注,选择橙单,效率乘三,收入翻番。