前言
本栏目内容为橙单代码生成工具的在线帮助文档,可通过橙单工具中每个配置页面右上角的「帮助」按钮直接跳转。
数据源
在开始介绍操作之前,我们先说明一下,只有为导入到服务内的数据表创建数据源之后,才会生成 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。
- 过滤参数设置,只有符合以下过滤条件的「一对多从表」和「多对多中间表」中的数据,才会参与聚合字段的动态计算。
结语
赠人玫瑰,手有余香,感谢您的支持和关注,选择橙单,效率乘三,收入翻番。