# 数据模型设计
新手指引系列文档将带领大家快速借助CodeWave平台能力搭建一个属于自己的低代码应用,并在应用的搭建过程中掌握平台的各类基础知识。
# 实体
# 实体的概念
实体是数据的一种载体,允许您将结构化数据持久保存在数据库中并实现数据库模型。每一个实体对应一张数据库表,实体的属性对应数据库表的列。
# 主键
创建实体时,会自动生成属性id,作为实体中每行记录的唯一标识。数据类型默认为长整型(Long)且不可修改,属性本身不可修改和删除,值按顺序自增或通过雪花算法生成。
# 创建/更新信息
- 创建实体时,会默认自动生成createdTime(创建时间)、createdBy(创建者ID)、updatedTime(更新时间)、updatedBy(更新者ID)4个系统属性,不可修改系统属性类型、默认值等基本信息。
- 当实体新增一条记录时,createdTime列会自动添加创建时间。
- 当实体某条记录有数据更新时,updatedTime列会自动添加更新时间。
# 标题
属性标题,在界面中如需显示该属性,会优先显示此标题。
# 数据类型
实体属性的数据类型,可选择基本数据类型,也可选择自定义类型,用户可根据需要配置实体属性的默认值。其中基本数据类型包括:
类型标识 | 类型说明 | 默认值 |
---|---|---|
Boolean | 布尔值 | null |
Integer | 整数 | null |
Long | 长整数 | null |
Double | 小数 | null |
Decimal | 精确小数 | null |
String | 字符串 | null |
Text | 长文本 | null |
Binary | 二进制流 | null |
Date | 日期 | null |
Time | 时间 | null |
DateTime | 日期时间 | null |
电子邮箱 | null |
# 实操:创建一个实体
创建一个Product实体,属性如下表所示:
属性名称 | 属性标题 | 数据类型 |
---|---|---|
id | 主键 | Long |
createdTime | 创建时间 | DateTime |
name | 产品名称 | String |
category | 产品分类 | String |
price | 产品价格 | Double |
purchaseDate | 进货日期 | Date |
右键单击默认数据源defaultDS,选择添加实体。
编辑实体名称为Product。
取消勾选系统属性存储createdBy,存储updatedTime,存储updatedBy。
系统属性的四个字段默认勾选,勾选的情况下数据库实体表格中会自动新增对应的属性。如不需要这些字段,可以在编辑实体的时候手动取消勾选。
添加属性,输入属性名称name,属性标题配置为产品名称,选择数据类型为String 字符串。
重复步骤4,添加剩余属性并选择对应的数据类型,即可完成实体创建。
# 枚举
# 枚举的概念
枚举是一种自定义的数据类型,用于定义一组有穷序列集。例如“星期”这个词就是一个枚举,星期一、星期二、 星期三、星期四、星期五、星期六、星期日就是这个枚举里面的成员。枚举类型可以帮助程序员更方便地管理常量值,提高程序的可读性和可维护性。
# 实操:创建枚举
在平台中的枚举类型包含枚举值和枚举标题,通常使用枚举值作为数据库中数据实际存储的值,使用枚举标题作为用户可见的内容。
如下表所示,需要将Product实体中属性category的数据类型修改为枚举类型。
枚举值 | 标题 |
---|---|
fruit | 水果 |
vegetable | 蔬菜 |
snack | 零食 |
cake | 糕点 |
创建枚举,命名为Category。
添加枚举值和标题。
将实体中category产品分类属性的数据类型修改为枚举类型Category。
# 快速生成增删改查功能
# 操作说明
平台内置了一系列的快捷操作步骤,如实体属性中可控制表格、筛选、表单、详情的显示与否,具体显示效果可参见下图。
实体配置
显示效果
# 实操:实现增删改查功能
通过平台自带的快捷操作,实现实体的增删改查功能。
如下图所示,选择并勾选实体显示项。
双击选择产品管理页面。
将Product实体拖入到页面中,并选择列表(全)。
发布开发环境预览查看运行结果,单击创建按钮即可弹出相应的弹窗。