LowCode服务
服务简码
HLCD
默认端口
8280
默认路由
/hlcd/**
组件编码
hzero-low-code
简介
1.1 概述
LowCode服务可实现在界面上定制开发简单的新功能。
1.2 组件坐标
- SaaS版本
<dependency>
<groupId>org.hzero</groupId>
<artifactId>hzero-low-code-saas</artifactId>
<version>${hzero.service.version}</version>
</dependency>
1.3 主要功能
- 数据库管理
- 基础表管理
- 平台层模型管理
- 平台层视图管理
- 租户层模型管理
1.4 服务配置参数
# 元数据收集排除的表,默认排除Liquibase使用的与业务无关的表
low-code. exclude-tables=databasechangeloglock,databasechangelog
# 元数据收集排除的表列,默认排除WHO字段
low-code.exclude-columns=OBJECT_VERSION_NUMBER,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE
开发指导
本章介绍Low Code 平台的数据库和表数据的同步过程以及应该如何进行数据库配置
Low Code 目前版本仅支持 MySQL 5.x 版本数据库,其他数据库需要后续支持
2.1 添加一个模式(Schema)到数据
在 MySQL 中 Schema 就是 Database,而 Database 表示一个 MySQL 服务器
- 创建一个普通的 Choerodon 服务使用想要添加的Schema作为主数据库(JDBC URL 需要添加
remarks=true
参数)。 - 添加
hzero-boot-low-code
maven 依赖到新建的服务,里面有 Low Code 所需的数据库查询的代理实现。 - 部署这个服务到有 Low Code 服务的 HZERO 集群。
- 正常情况管理服务会发现这个服务并且启动初始化数据库和数据表的事务,可以从平台层事务实例观察运行状况。
- 可以从 Low Code 的数据库管理页面看到新的模式,以及下面的表,会使用数据库的REMARK作为初始的表和字段的描述。
2.2 建立数据库(Database)关联模式(Schema)
在同一个 MySQL 中可以跨多个 Schema 进行关联查询,Low Code 平台可以在经过合理配置后利用这一点进行关联查询加速。
假设有 A,B,C 三个服务,其中 A,B 服务使用的是同一个MySQL服务器 X,而 C 服务使用的是另一个 MySQL服务器 Y,那么为了达到最高效率应该进行如下配置:
- 初始化完成后在数据库管理应该有 A,B,C 三个模式,而没有数据库。
- 在数据库管理创建一个数据库 X,将 A 和 B 拖入 X 下面。
- 创建数据库 Y ,将 C 拖入 Y 下面。(可以省略,单模式的数据库对性能没有影响)
配置完成之后如果模型里面存在A下面的表一对一关联B下面的表那么会使用 Left Join 在 A 执行一次查询,而如果没有进行配置那么就开会在 A 进行一次查询之后再通过查询数据的主键到B进行一次查询,由于查询之间还存在 HTTP RPC 调用,减少一次查询对性能的提升较大。因此再使用之前推荐进行合理的数据库配置。