低代码开发平台是在不写或者只写极少量代码即可实现业务功能的软件平台,可以助力企业快速完成数字化转型。本书介绍低代码开发平台设计与开发的详细过程,以元数据模型为核心,介绍服务、数据库、主数据、界面展现、功能配置,以及元数据自身的管理,完整呈现元数据驱动的低代码开发平台的端到端的实现机制。
目录
第 1 章 元数据模型 1
1.1 低代码开发平台介绍 1
1.2 当事人领域模型 9
1.3 元数据模型定义 11
1.4 元数据模型实例类 16
1.5 元数据模型实例创建 19
1.6 元数据模型术语 23
1.7 主数据应用场景 25
1.8 本书实现目标 28
1.8.1 当事人录入功能 29
1.8.2 当事人查询功能配置 33
第 2 章 元数据实例服务 37
2.1 技术分层架构 37
2.2 元数据实例服务设计 38
2.2.1 新建当事人 38
2.2.2 修改当事人 40
2.2.3 删除当事人 41
2.2.4 创建实例 44
2.2.5 修改实例 45
2.2.6 删除实例 46
2.2.7 实例服务设计小结 47
2.3 元数据实例服务介绍 48
2.3.1 getDna 服务 48
2.3.2 initInst 服务 49
VIII
2.3.3 saveInst 服务 50
2.3.4 getInst 服务 52
2.3.5 deleteInst 服务 53
2.3.6 当事人和元数据实例服务对比分析 54
2.4 元数据实例与 POJO 转换 55
2.4.1 元数据实例与 POJO 定制化转换 55
2.4.2 元数据实例与 POJO 基于参数转换 57
2.4.3 元数据实例与 POJO 基于注解转换 62
2.5 元数据实例与 JSON 转换 68
2.5.1 元数据实例的 JSON 格式转换 68
2.5.2 元数据实例 JSON 序列化 71
2.5.3 元数据实例 JSON 反序列化 73
2.5.4 Controller 层 JSON 转换应用 76
第 3 章 元数据实例持久化 78
3.1 元数据实例数据库映射分析 78
3.2 通用数据库结构 79
3.3 元数据实例数据库映射配置 83
3.4 数据库映射的构造器 86
3.5 数据库映射的创建 90
3.6 DAO 服务 95
3.6.1 insertCell 服务 95
3.6.2 updateCell 服务 98
3.6.3 deleteCellByKey 服务 101
3.6.4 getInst 服务 104
第 4 章 元数据实例查询 108
4.1 条件查询分析 108
4.2 基本数据结构 112
4.2.1 查询条件数据结构 112
4.2.2 查询相关树概念 114
4.2.3 构造查询相关树 118
4.3 查询服务的实现 123
4.3.1 查询服务接口 123
4.3.2 构造 SQL 组合对象 124
4.3.3 DAO 层条件查询服务 135
4.3.4 查询服务调用示例 140
4.3.5 查询条件构造器 144
4.4 简单查询 147
第 5 章 主数据 150
5.1 主数据 Dna 150
5.2 查询定义主数据 154
5.3 根据定义查询 160
第 6 章 元数据实例的界面展现 162
6.1 菜单主数据管理 162
6.2 当事人录入界面实现 168
6.3 实例通用界面实现 177
6.4 页面布局定义 181
6.5 当事人录入页面布局 187
6.6 InstLayout 界面渲染 191
6.7 实例属性基础 Vue 组件 193
6.7.1 InstInput 193
6.7.2 InstSwitch 194
6.7.3 InstBoolSelect 195
6.7.4 DictionarySelect 196
6.7.5 InstButton 197
6.7.6 InstFilterSelect 198
6.7.7 InstSlaveSelect 200
6.8 InstFormLayout 组件 204
6.9 InstGridLayout 组件 208
6.10 InstTreeLayout 组件 220
6.11 组件 InstLayout 间关系 229
第 7 章 功能配置 235
7.1 工作台 235
7.2 InstEntry 组件 240
7.3 InstFilter 组件 247
第 8 章 元数据定义配置 256
8.1 Dna 管理 256
8.2 DnaDbMap 管理 266
8.2.1 类 DnaDbMap 的 Dna 对象 267
8.2.2 Dna 对象到数据库映射 272
8.2.3 DnaDbMap 对象到数据库的映射 275
8.3 InstLayout 管理 276
8.3.1 InstLayout 中间类 277
8.3.2 InstLayout 中间类的 Dna 对象 279
8.3.3 Dna 的 Dna 对象展现 284
8.3.4 DnaDbMapAgent 对象展现 287
8.3.5 InstLayoutAgent 对象展现 289