XML 定义
查询 XML 示例
xml
<?xml version="1.0" encoding="UTF-8"?>
<QueryDomain desc="低代码-媒体库文件" login="false">
<MainTable id="lowcodeMediaFile" table="lowcode_media_file">
<QueryField comment="主键" id="id" name="id"/>
<QueryField comment="创建者" id="creator" name="creator"/>
<QueryField comment="创建时间" id="create_time" name="createTime"/>
<QueryField comment="更新者" id="updater" name="updater"/>
<QueryField comment="更新时间" id="update_time" name="updateTime"/>
<QueryField comment="是否删除" id="deleted" name="deleted"/>
<QueryField comment="租户编号" id="tenant_id" name="tenantId"/>
<QueryField comment="目录id" id="dir_id" name="dirId"/>
<QueryField comment="目录id路径" id="dir_id_path" name="dirIdPath"/>
<QueryField comment="文件类型" id="type" name="type"/>
<QueryField comment="文件Url" id="url" name="url"/>
</MainTable>
</QueryDomain>查询 XML 可视化配置

QueryDomain 元素
作用: 定义查询配置的上下文作用域,限定动态生成 SQL 的业务边界,支持多租户、权限隔离及查询行为控制。
属性(@XmlAttribute)
| 属性名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| desc | 字符串 | 是 | 查询域描述信息 |
| maxReturnRows | 整数 | 是 | 最大返回行数 |
| cache | 布尔值 | 是 | 是否启用缓存 |
| ttl | 整数 | 是 | 缓存过期时间(单位:秒) |
| login | 布尔值 | 是 | 是否需要登录才能执行查询 |
| permission | 字符串 | 是 | 权限标识,有该权限才能执行查询 |
子元素(@XmlElement)
| 元素名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| MainTable | 支持多个 MainTable 元素 | 否 | 主表定义列表,一次查询只会有一个主表生效 |
| QueryTable | 支持多个 QueryTable 元素 | 是 | 副表定义列表 |
| QueryField | 支持多个 QueryField 元素 | 是 | 全局查询字段定义列表 |
| QueryWhere | 仅支持一个 QueryWhere 元素 | 是 | 默认查询条件定义 |
| QueryInterceptor | 仅支持一个 QueryInterceptor 元素 | 是 | 查询拦截器配置 |
| QueryFilter | 仅支持一个 QueryFilter 元素 | 是 | 查询过滤器配置 |
MainTable 元素
作用: 指定查询的核心数据表(FROM子句基准表),决定主数据源及关联操作边界。
属性(@XmlAttribute)
| 属性名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| id | 字符串 | 否 | 主表唯一标识 |
| table | 字符串 | 否 | 对应的数据库表名 |
| desc | 字符串 | 是 | 表描述信息 |
| disableTenant | 布尔值 | 是 | 是否禁用多租户过滤 |
| disableLogicDelete | 布尔值 | 是 | 是否禁用逻辑删除过滤 |
子元素(@XmlElement)
| 元素名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| QuerySql | 仅支持一个 QuerySql 元素 | 是 | 自定义查询 SQL 配置 |
| ValidTestValue | 仅支持一个 ValidTestValue 元素 | 是 | 表有效性测试配置 |
| QueryField | 支持多个 QueryField 元素 | 否 | 查询字段定义列表,要返回的查询字段 |
QueryTable 元素
作用: 定义关联副表,支持多表JOIN操作的动态配置。
属性(@XmlAttribute)
| 属性名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| id | 字符串 | 否 | 查询表唯一标识 |
| table | 字符串 | 否 | 对应的数据库表名 |
| desc | 字符串 | 是 | 表描述信息 |
| joinOn | 字符串 | 是 | 内连接条件(SQL 片段) |
| leftJoinOn | 字符串 | 是 | 左连接条件(SQL 片段) |
| disableTenant | 布尔值 | 是 | 是否禁用多租户过滤 |
| disableLogicDelete | 布尔值 | 是 | 是否禁用逻辑删除过滤 |
子元素(@XmlElement)
| 元素名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| QuerySql | 仅支持一个 QuerySql 元素 | 是 | 自定义查询 SQL 配置 |
| ValidTestValue | 仅支持一个 ValidTestValue 元素 | 是 | 表有效性测试配置 |
| QueryField | 支持多个 QueryField 元素 | 否 | 查询字段定义列表,要返回的查询字段 |
QueryField 元素
作用: 定义查询结果返回的字段映射规则,支持字段级业务控制。
属性(@XmlAttribute)
| 属性名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| id | 字符串 | 否 | 数据表字段名称, 可使用sql子查询或函数 |
| name | 字符串 | 否 | 字段属性名称 |
| comment | 字符串 | 是 | 字段注释或说明 |
| hidden | 布尔值 | 是 | 是否在返回结果中隐藏该字段 |
| required | 字符串 | 是 | 必填分组,相同分组内所有参数必填. 至少有一个分组必填条件校验通过才能查询, 多个分组逗号分割 |
| symbols | 字符串 | 是 | 查询支持,配置字段支持的查询条件, 只有合法的查询条件可进行查询 |
| sortable | 布尔值 | 是 | 是否支持排序 |
| authType | 字符串 | 是 | 确权查询,根据当前登录用户的确权信息通过该字段进行查询。确权类型:authUserId 按当前登录用id 查询,代表该字段为 登录用id |
| disableExpt | 布尔值 | 是 | 是否禁用导出功能 |
子元素(@XmlElement)
| 元素名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| (无) | — | — | — |
QueryWhere 元素
作用: 定义默认WHERE条件,通过SQL片段动态拼接过滤逻辑。
文本内容(@XmlValue)
| 字段名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| value | 字符串 | 是 | 查询条件 SQL 片段 |
QuerySql 元素
作用: 注入原生SQL片段,用于覆盖默认查询逻辑(需谨慎使用)。
文本内容(@XmlValue)
| 字段名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| value | 字符串 | 是 | SQL 查询语句 |
ValidTestValue 元素
作用: 配置表级数据有效性校验逻辑(执行前预检)。
文本内容(@XmlValue)
| 字段名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| value | 字符串 | 是 | 有效性校验 JS 代码 |
属性(@XmlAttribute)
| 属性名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| class | 字符串 | 是 | Spring Bean 校验类全名 |
QueryInterceptor 元素
作用: 注册查询拦截器,实现SQL执行前/后的扩展逻辑。
子元素(@XmlElement)
| 元素名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| QueryInterceptorValue | 支持多个 QueryInterceptorValue 元素 | 否 | 拦截器列表 |
QueryInterceptorValue 元素
作用: 指定拦截器实现类(Spring Bean)。
属性(@XmlAttribute)
| 属性名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| class | 字符串 | 是 | Spring Bean 拦截器类全名 |
子元素(@XmlElement)
| 元素名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| QueryInterceptorPreHandleValue | 仅支持一个 QueryInterceptorPreHandleValue 元素 | 是 | 拦截器前置处理配置 |
| QueryInterceptorPostHandleValue | 仅支持一个 QueryInterceptorPostHandleValue 元素 | 是 | 拦截器后置处理配置 |
QueryInterceptorPreHandleValue 元素
作用: 分别配置拦截器的预处理(SQL生成前 逻辑。
文本内容(@XmlValue)
| 字段名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| value | 字符串 | 否 | 拦截器前置处理 JS 代码 |
QueryInterceptorPostHandleValue 元素
作用: 分别配置拦截器的后处理(结果返回后)逻辑。
文本内容(@XmlValue)
| 字段名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| value | 字符串 | 否 | 拦截器后置处理 JS 代码 |
QueryFilter 元素
作用: 定义查询过滤器,按顺序执行。
子元素(@XmlElement)
| 元素名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| QueryFilterValue | 支持多个 QueryFilterValue 元素 | 否 | 过滤器列表 |
QueryFilterValue 元素
作用: 定义过滤器配置。
文本内容(@XmlValue)
| 字段名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| value | 字符串 | 是 | 过滤器处理 JS 代码 |
属性(@XmlAttribute)
| 属性名 | 类型 | 是否可为空 | 说明 |
|---|---|---|---|
| class | 字符串 | 是 | Spring Bean 过滤器类全名 |
