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

# 配置项及含义
# 元对象编码
无需配置,这是在元对象配置中冗余的数据。方便系统使用。
# 主键生成策略
三个可选值,见名知意。
- 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: 数据列表查看时的拦截器处理
通过自定义切点类,并按需实现上述接口类,实现其中的方法,就可以实现扩展。以上五个接口类扩展的口子包括:
- 新增数据前
- 新增数据后
- 列表数据查看前
- 列表数据查看后
- 删除数据前
- 删除数据后
- 更新数据前
- 更新数据后
- 详情数据查看前
- 详情数据查看后