2.2.2 数据集
数据库中包括数据表,视图、存储过程,他们都可以返回数据集合;自定义的sql和后端服务也可以返回数据集合。系统将这些数据集合抽象为数据集,提供统一的访问方式和接口。
数据集的作用如下
- 通过它可以生成数据表,也可以将已有的数据表和视图导入为数据集
- 通过它可以生成数据组件,用于低代码开发
- 通过它可以生成java实体类,用于专业代码开发
一个数据集由三部分组成:数据集信息、列信息和映射信息。
2.2.2.1 数据集信息
数据集信息主要包括数据集名称和数据集标识。
- 数据集名称:用于界面显示,所以支持输入中文
- 数据集标识:用于在代码中使用数据集,所以只支持字母、下划线和数字,且必须以字母开头
2.2.2.2 列信息
一个数据集可以包括若干个列,每一列信息主要包括列名称、列标识、类型、是否必填、是否主键、是否版本锁。
- 列名称:用于界面显示,所以支持输入中文
- 列标识:用于在代码中使用列,所以只支持字母和数字,且必须以字母开头,不能使用数据库关键字
- 类型:用于标明列的类型,支持的类型见下表
数据集列类型 | MySQL数据类型 | Java类型 | 说明 |
---|---|---|---|
文本 | varchar(254) | String | 默认长度254,可设置 |
数字 | int(11) | Integer | 范围:-2147483648到+2147483647 |
含小数点数字 | double | Double | 浮点数,非精确数字 |
长数字 | bigint(20) | Long | |
精确数字 | decimal(10,5) | BigDecimal | 默认长度10,精度5,可设置 |
日期 | date | Date | |
日期时间 | datetime | Date | |
长文本 | mediumtext | String | |
图片 | mediumtext | String | 数据库中存储标识,文件存储到存储服务中 |
文件 | mediumtext | String | 同上 |
富文本 | mediumtext | String | 数据库中存html源码和文件标识,文件存储到存储服务中 |
- 是否必填:存储数据时,该列必须有值
- 是否主键:数据集默认一列主键,可以取消主键列,也可以设置多列为主键列
- 是否版本锁:数据集增加一列数字类型的列,用于实现乐观锁的能力,避免更新冲突
2.2.2.3 映射信息
数据集的名称和数据表的名称,以及列的名称和字段的名称可以不同,通过配置映射信息将他们二者对应起来。
- 数据库表名:系统默认生成的数据表名和数据集名不同,数据表名=main_数据集名。如需修改系统默认生成的表名,设置数据库表名即可
- 数据库字段名:当某些列名和字段名不一致时,设置数据库字段名即可实现映射
2.2.2.4 命名规则
常用的命名风格有:小驼峰、大驼峰和蛇式三种,见下表。 | 命名风格 | 例子 | 说明 | | --- | --- | --- | | 小驼峰 | saleOrder | 适用于数据集标识和数据表名称 | | 大驼峰 | SaleOrder | 适用于Java类名 | | 蛇式 | sale_order | 适用于数据表名称 |
关于小驼峰、大驼峰、蛇式
- 数据集标识使用小驼峰
- 系统自动生成大驼峰的Java类
- 使用蛇式命名风格,系统自动生成蛇式命名的数据表名
- 使用小驼峰命名风格,系统自动生成小驼峰命名的数据表名
关于单数和复数
- 数据集标识和Java类名均使用单数形式
- 数据表名可以使用单数形式,如需使用复数形式,通过设置映射信息实现
例如:小驼峰的数据集标识,生成大驼峰的Java类,生成复数的数据表名
数据集标识 | Java类名 | 数据表名 |
---|---|---|
saleOrder | SaleOrder | sale_orders |
小驼峰的列标识,生成蛇式的字段名称
数据集列标识 | 数据表字段名 |
---|---|
orderDate | order_date |
2.2.2.5 存储信息
一个数据集存储在一个后缀名为data.m的文件内,data.m文件位于模块目录下,例如,在主服务模块下添加订单数据集,如下图所示
在service/main目录下就会产生saleOrder.data.m文件,如下图所示