# 元对象配置

元对象配置界面如下: 元对象配置

# 配置项及含义

# 元对象编码

无需配置,这是在元对象配置中冗余的数据。方便系统使用。

# 主键生成策略

三个可选值,见名知意。

  • UUID主键: 32位UUID,要求主键必须是varchar类型,且长度不少于32。运用UUID算法,无序且随机。
  • 数字序列: 18位的数字序列, 要求主键必须是varchar类型,且长度不少于18。运用雪花算法,有序。
  • 自动生成: 为数据库自动生成,要求字段符合mysql自动生成要求即可。

# 数据结构

此配置项描述了表中数据的数据结构。目前dbmeta支持两种数据结构:列表和树结构。

  • 列表: 表示表中数据是普通列表,数据之间无特殊关系。
  • 树结构: 表示表中数据呈现树结构。选择此项时,必须配置【树形结构配置】项,指定树结构属性。

# 排序规则(SQL)

应用于数据库查询时的全局排序规则。语法就是简单的sql排序关键语句。如: created_time desc

WARNING

注意,当排序字段为mysql关键字时,务必用反引号,如: `order` desc

# 过滤规则(SQL)

配置表数据查询时的全局过滤规则。比如: is_deleted=false

TIP

你甚至可以借助这个配置项,实现简单的数据权限控制。如:

is_deleted=false and user_id = #{user.userId()}

目前只支持变量user, 代表当前登录的用户,其可用的方法见dbmeta内置接口类User (opens new window)中的所有public方法

# 业务拦截器

通过dbmeta生成的模块,其CRUD都是内置实现好了的。有时我们希望在表单新增前做一些后端校验,或者新增后执行一些逻辑,比如发送短信之类。可以通过 此业务拦截器实现。

其值为切点类的全路径,例如: com.github.md.web.controller.itp.BuildInDataPointCut, 可以配置多个, 用英文逗号分隔。

自定义个切点类必须继承以下一个或多个接口类:

  • AddPointCut : 表单新增时拦截器处理
  • DeletePointCut : 数据删除时的拦截器处理
  • UpdatePointCut : 表单更新时的拦截器处理
  • ViewPointCut : 数据详情查看时的拦截器处理
  • QueryPointCut: 数据列表查看时的拦截器处理

通过自定义切点类,并按需实现上述接口类,实现其中的方法,就可以实现扩展。以上五个接口类扩展的口子包括:

  • 新增数据前
  • 新增数据后
  • 列表数据查看前
  • 列表数据查看后
  • 删除数据前
  • 删除数据后
  • 更新数据前
  • 更新数据后
  • 详情数据查看前
  • 详情数据查看后
Last Updated: 5/17/2022, 1:33:44 PM