diboot/diboot-docs/guide/diboot-devtools/数据表管理.md

6.5 KiB
Raw Permalink Blame History

数据表管理

  • 项目开发过程中,通过数据库管理工具创建表时,可选择同时生成代码(EntityVOService及其实现类Mapper及映射文件Controller)并保存相关SQL更新历史。
  • 通过数据库管理工具修改表、字段及关联关系时也将同步地更改后端代码让您彻底摆脱繁琐的CRUD和简单关联查询。
  • 数据库管理工具中可以填写字段的样例数据devtools会自动插入到表中作为后续生成预览等的样例展示。

创建数据表

点击数据表的列表栏上方"+"按钮,打开创建表窗口。可以使用引导建表SQL建表两种方式来创建数据库表。

创建数据表

创建表配置

  1. 引导建表
  • 数据库表名:建议使用英文小写命名,多个单词以下划线分隔。
  • 业务对象名:该数据库表所代表的业务对象中文名称,建议名词,将会用在后续的生成代码中。
  • ID策略可选用如下ID生成方式
    • 数据库自增ID使用数据库的自增主键在系统中为Long类型ID值连续可被猜测建议在非敏感数据的表中使用。
    • 程序生成有序ID程序自动生成有序的非连续Long型ID该ID为19位且不连续默认以该字段对列表排序建议在要求高效率索引的敏感数据的表中使用。 (注意后端返回前端时该类型的ID直接转换成前端JavaScript对象时存在失真问题如接收到json数据后前端可使用pkString代替pk/id的值以免造成结果错误。)
    • 程序生成无序ID程序自动生成无序的32位无序字符串(UUID)来作为ID该ID无规律可循不可用作排序非必需情况不建议使用。
  • 预置字段:
    • id
    • extdata扩展字段用来存放该表各类相关冗余数据的json字符串比如存放冗余的创建人姓名等。
    • is_deleted逻辑删除标记字段用来表明该条数据是否已删除默认为0代表未删除1代表已删除。
    • create_by创建人id。
    • create_time创建时间数据库默认值为创建时的当前系统时间。
    • update_time更新时间数据库默认值为更新时的当前系统时间。
  1. SQL建表

文本框内输入建表SQL语句点击确定按钮。

数据设计

在管理页面中,点击左侧数据库表列表中某个表,将会加载该表的所有字段到右侧面板中。 点击搜索表输入框,输入某个表名,系统将实时搜索该表,并显示在下方的数据库表列表中。

表的相关配置

表结构配置

  1. 操作

    从左到右,有三个按钮:

    • 按住最左侧按钮,可以上下移动改行所在的位置。
    • 中间+按钮,点击可添加一行。
    • 最右侧-按钮,点击可删除该行。
  2. 字段名

    • 字段名是数据库中的字段名称建议使用英文小写命名以下划线分割name, teacher_id等。
    • 字段名被转化后会自动添加到Entity类的属性中。转化过程中会将下划线去掉并将下划线后面的首字母大写遵循驼峰命名法。如name, teacherId等。
  3. 字段标签

    • 字段标签在数据库表中为该字段的comment备注。
    • 代码中字段标签将显示为该字段的名称,如:姓名,教师等,建议使用名词,因为该备注会用于拼接校验提示信息等。
  4. 数据类型

    • devtools提供了6种数据类型供选择分别是String, Long, Integer, Boolean, Date, Double。
    • Entity类中使用这里所选的数据类型。数据库表中存放的Type将会根据所选择的数据类型自动进行匹配。
  5. 长度

    • 长度表示该字段在数据库表中设置的长度0表示不设置长度。
    • Entity类中的属性都会使用这里的设置进行长度校验。
  6. 扩展配置

    主要提供该字段的某些可供选择的特性,说明如下:

    • unsigned 勾选该配置,表示这是个无符号数字,同时将该特性设置到数据库表中。
    • char 勾选该配置在数据库表中会将该字段的type设置为定长char。
    • LIKE 勾选该配置在接收前端请求转换为QueryWrapper时会将该字段查询条件转换为LIKE查询。
    • 对于Date类型的字段时间格式有两种供选择yyyy-MM-dd HH:mm和yyyy-MM-dd
  7. 非空

    • 勾选了该选项的复选框,表示该字段不能为空,同时在数据库表中设置该字段非空。
    • Entity类中的属性都会使用这里的设置进行非空校验。
  8. 默认值

    • 可以根据字段的配置,填写或选择默认值。
    • 该默认值将会设置到数据库表字段的默认值属性中。
    • 对于非空字段,尤其要注意,是否应该设置默认值。
  9. 表单类型

    devtools提供了常用的表单类型选择框单行输入多行输入富文本编辑图片上传文件上传忽略不显示

    • 表示该字段在表单页面中,以哪种方式进行数据输入,生成的代码中将包含该输入方式的相关表单元素。
    • 当一个字段选择数据类型或者关联方式后devtools会将推荐的表单类型设置到这个字段。
  10. 关联

    设置该字段关联关系的方式,可选择数据表数据字典

    • 选择关联数据表后,将会弹出可供选择的数据库表。依次是关联方式(1-1, n-1, n-n),哪个表(关联表名)、哪个字段(关联表中与该字段对应的字段)、显示的字段(显示关联表信息的字段)、附加选项在目标对象中绑定(在目标对象中绑定当前对象)。 如果指定了显示的字段,则生成代码将生成@BindField如果未指定则生成@BindEntity。 如果n-1关联中选择了在目标对象中绑定则将在目标表的VO中反向绑定当前表对应的Entity集合。

    • 选择关联数据字典后,将会弹出可供选择的数据字典,选择一个元数据关联到该字段即可。

  11. 样例数据

    填写样例数据,方便后续的开发调试。 ::: warning 注:非空字段的样例数据不能为空,并且须严格按照字段的数据类型填写。 :::

关联配置

关联配置示例

关系图

显示数据表之间的关联关系,方便开发人员清晰的了解项目的数据模型。