模块 linlang.api

类 QuerySpec

java.lang.Object
api.linlang.file.database.dto.QuerySpec

public final class QuerySpec extends Object
可变的参数化查询描述。

条件由字段名、比较运算符和占位符组成,可以使用 AND 或 OR 连接。支持的比较运算符为 =、!=、<>、<、 <=、>、>= 和 LIKE,同时支持 IS NULL 与 IS NOT NULL。条件值必须通过 param(Object) 或 params(List) 提供,不允许把值直接拼接到表达式中。

  • 构造器详细资料

    • QuerySpec

      public QuerySpec()
  • 方法详细资料

    • of

      public static QuerySpec of()
      返回:
      新的空查询描述
    • where

      public QuerySpec where(String where)
      设置条件表达式。

      例如:name = ? AND deleted IS NULL。字段可以使用 Java 字段名, 也可以使用 @Column 声明的列名。

      参数:
      where - 受控条件表达式,可为 null
      返回:
      当前查询描述
    • param

      public QuerySpec param(Object p)
      追加一个条件参数。
      参数:
      p - 参数值
      返回:
      当前查询描述
    • params

      public QuerySpec params(List<?> ps)
      按顺序追加多个条件参数。
      参数:
      ps - 参数列表;为 null 时不执行操作
      返回:
      当前查询描述
    • orderBy

      public QuerySpec orderBy(String orderBy)
      设置排序表达式。

      多个字段使用逗号分隔,每个字段后可以追加 ASC 或 DESC。

      参数:
      orderBy - 排序表达式,可为 null
      返回:
      当前查询描述
    • limit

      public QuerySpec limit(int limit)
      设置最大返回条数。
      参数:
      limit - 最大条数;零的具体含义由实现决定
      返回:
      当前查询描述
    • offset

      public QuerySpec offset(int offset)
      设置查询偏移量。
      参数:
      offset - 非负偏移量
      返回:
      当前查询描述
    • where

      public String where()
      返回:
      条件表达式,可能为 null
    • params

      public List<Object> params()
      返回:
      条件参数的不可变视图
    • orderBy

      public String orderBy()
      返回:
      排序表达式,可能为 null
    • limit

      public int limit()
      返回:
      最大返回条数
    • offset

      public int offset()
      返回:
      查询偏移量