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 从数据库导入

从数据库将表或视图导入为一个数据集,导入规则见下表。

数据表 数据集 说明
表注释 数据集名称 导入时可修改
表名 数据集标识 导入时可将蛇式命名转换成小驼峰
列注释 列名称 导入时可修改
列名 列标识 导入时可将蛇式命名转换成小驼峰

案例一:导入表

  • 数据库中的数据表

  • 导入后的数据集

案例二:蛇式命名转成小驼峰命名

  • 数据库中的数据表

  • 导入后的数据集

案例三:导入视图

  • 数据库中的视图

  • 导入后的视图

特别说明:

  • 重复导入时会提示是否覆盖
  • 导入的数据集,默认禁止建表

results matching ""

    No results matching ""

    results matching ""

      No results matching ""