Class QueryBuilder

java.lang.Object
cool.scx.data.query.QueryBuilder

public final class QueryBuilder extends Object
QueryBuilder
Version:
0.0.1
Author:
scx567888
  • Constructor Details

    • QueryBuilder

      public QueryBuilder()
  • Method Details

    • query

      public static Query query()
    • query

      public static Query query(Query oldQuery)
    • where

      public static Query where(Object where)
    • groupBy

      public static Query groupBy(Object... groupByClauses)
    • orderBy

      public static Query orderBy(Object... orderByClauses)
    • offset

      public static Query offset(long offset)
    • limit

      public static Query limit(long limit)
    • and

      public static Junction and(Object... clauses)
    • or

      public static Junction or(Object... clauses)
    • not

      public static Not not(Object clause)
    • asc

      public static OrderBy asc(String name, QueryOption... options)
      正序 : 也就是从小到大 (1,2,3,4,5,6)
    • desc

      public static OrderBy desc(String name, QueryOption... options)
      倒序 : 也就是从大到小 (6,5,4,3,2,1)
    • eq

      public static Where eq(String fieldName, Object value, QueryOption... options)
      相等 (支持 null 比较)
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • ne

      public static Where ne(String fieldName, Object value, QueryOption... options)
      不相等 (支持 null 比较)
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • lt

      public static Where lt(String fieldName, Object value, QueryOption... options)
      小于
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • lte

      public static Where lte(String fieldName, Object value, QueryOption... options)
      小于等于
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • gt

      public static Where gt(String fieldName, Object value, QueryOption... options)
      大于
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • gte

      public static Where gte(String fieldName, Object value, QueryOption... options)
      大于等于
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • like

      public static Where like(String fieldName, Object value, QueryOption... options)
      双端模糊匹配
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 参数 默认会在首尾添加 %
      options - 配置
      Returns:
      this 方便链式调用
    • notLike

      public static Where notLike(String fieldName, Object value, QueryOption... options)
      NOT 双端模糊匹配
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 默认会在首尾添加 %
      options - 配置
      Returns:
      this 方便链式调用
    • likeRegex

      public static Where likeRegex(String fieldName, String value, QueryOption... options)
      正则表达式匹配
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - SQL 表达式
      options - 配置
      Returns:
      this 方便链式调用
    • notLikeRegex

      public static Where notLikeRegex(String fieldName, String value, QueryOption... options)
      NOT 正则表达式匹配
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - SQL 表达式
      options - 配置
      Returns:
      this 方便链式调用
    • in

      public static Where in(String fieldName, Object value, QueryOption... options)
      在集合内 (集合元素中 null 也是合法匹配项, 空集合则表示不匹配任何项)
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • notIn

      public static Where notIn(String fieldName, Object value, QueryOption... options)
      不在集合内 (集合元素中 null 也是合法匹配项, 空集合则表示不匹配任何项)
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • between

      public static Where between(String fieldName, Object value1, Object value2, QueryOption... options)
      在范围内 (low <= field <= high)
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value1 - 比较值1
      value2 - 比较值2
      options - 配置
      Returns:
      this 方便链式调用
    • notBetween

      public static Where notBetween(String fieldName, Object value1, Object value2, QueryOption... options)
      不在范围内 (field < low 或 field > high)
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value1 - 比较值1
      value2 - 比较值2
      options - 配置
      Returns:
      this 方便链式调用
    • jsonContains

      public static Where jsonContains(String fieldName, Object value, QueryOption... options)
      JSON 包含某子结构, 针对 JSON 对象或数组的子集匹配
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • jsonOverlaps

      public static Where jsonOverlaps(String fieldName, Object value, QueryOption... options)
      JSON 数组之间有交集
      Parameters:
      fieldName - 名称 (注意 : 默认为字段名称 , 不是数据库名称)
      value - 比较值
      options - 配置
      Returns:
      this 方便链式调用
    • whereClause

      public static WhereClause whereClause(String whereClause, Object... params)