2.2.4 创建数据集
数据库里面没有数据表时,使用创建数据集功能,根据数据集创建出数据表;当数据库里面已经有数据表或视图时,使用从数据库导入功能,根据数据表创建数据集。
创建数据集又有两种方式:
- 直接创建一个只有主键的空白数据集
- 使用模板创建一个有一些列的数据集
2.2.4.1 创建数据集
创建数据集就是在model/service/main目录下,创建了数据模型文件XXX.data.m,以及数据模型文件的元信息文件XXX.data.m.meta。
数据模型文件XXX.data.m中存储模型文件路径 filepath、列定义 property 以及映射信息 mapping。文件内容如下所示:
<data filepath="service/main/customer.data.m">
<class _version="2.0.27">
<label>客户</label>
<property name="id" did="C9DB5A15D3D00001EFEAC050119531D0" primary="true" dataType="String">
<label>主键</label>
</property>
<property xmlns="http://www.justep.com/model" did="C9DB5A17AB5000017080950667C03F00" dataType="String" extType="String" name="name">
<label>名称</label>
</property>
<property xmlns="http://www.justep.com/model" did="C9DB5A17F9200001F8571D1F1D608550" dataType="String" extType="String" name="addr">
<label>地址</label>
</property>
<property xmlns="http://www.justep.com/model" did="C9DB5A1C96900001AE363E7276521FBB" dataType="String" extType="String" name="phoneNumber">
<label>联系电话</label>
</property>
</class>
<mapping xmlns="http://www.justep.com/model" namingStyle="snake" table="customer"/>
</data>
数据模型文件的元信息文件XXX.data.m.meta中存储数据集类型 kind(data表示动态数据集,const表示静态数据集)、中文显示名 label。文件内容如下所示:
{"kind":"data","label":"客户","isSelf":true}
2.2.4.2 使用模板创建数据集
在很多时候,业务数据上都要存储创建人、创建时间、修改人和修改时间等信息,即数据集有一些相同的列。系统提供数据集模板,在模板中定义列,创建数据集时选择一个数据集模板,数据集中自动添加上模板中的列。
数据集模板由两个文件组成,一个是数据集模板文件XXX.data.template.m,另一个是数据集模板的元信息文件XXX.data.template.m.meta。这两个文件的内容和数据集的两个文件一致。
例如:service/main 目录下模板文件 creator.data.template.m 中的代码如下
<data filepath="service/main/creator.data.template.m">
<class _version="2.0.27">
<label>创建修改人模版</label>
<property xmlns="http://www.justep.com/model"
did="C928134A5BB00001F3921A5087F7D210" dataType="String"
extType="String" name="fcreator">
<label>创建人全编码</label>
</property>
<property xmlns="http://www.justep.com/model"
did="C92864A0B0600001B038DB706BF03011" dataType="String"
extType="String" name="fcreatorName" length="">
<label>创建人</label>
</property>
<property xmlns="http://www.justep.com/model"
did="C92864A0B0600001B038DB706BF03012" dataType="DateTime"
extType="DateTime" name="fcreateTime" length="">
<label>创建时间</label>
</property>
<property xmlns="http://www.justep.com/model"
did="C928134A5BB00001F3921A5087F7D213" dataType="String"
extType="String" name="fmodifier">
<label>最后修改人全编码</label>
</property>
<property xmlns="http://www.justep.com/model"
did="C92864A0B0600001B038DB706BF03014" dataType="String"
extType="String" name="fmodifierName" length="">
<label>最后修改人</label>
</property>
<property xmlns="http://www.justep.com/model"
did="C92864A0B0600001B038DB706BF03015" dataType="DateTime"
extType="DateTime" name="fmodifyTime" length="">
<label>最后修改时间</label>
</property>
</class>
</data>
service/main 目录下模板元信息文件 creator.data.template.m.meta 中的代码如下
{"kind":"data","label":"创建修改人模版"}
2.2.4.3 从数据库导入
从数据库将表或视图导入为一个数据集,导入规则见下表。
数据表 | 数据集 | 说明 |
---|---|---|
表注释 | 数据集名称 | 导入时可修改 |
表名 | 数据集标识 | 导入时可将蛇式命名转换成小驼峰 |
列注释 | 列名称 | 导入时可修改 |
列名 | 列标识 | 导入时可将蛇式命名转换成小驼峰 |
案例一:导入表
- 数据库中的数据表
- 导入后的数据集
案例二:蛇式命名转成小驼峰命名
- 数据库中的数据表
- 导入后的数据集
案例三:导入视图
- 数据库中的视图
- 导入后的视图
特别说明:
- 重复导入时会提示是否覆盖
- 导入的数据集,默认禁止建表