Skip to content

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 过滤器类全名