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(Where where)
    • orderBys

      public static Query orderBys(OrderBy... orderBys)
    • offset

      public static Query offset(long offset)
    • limit

      public static Query limit(long limit)
    • and

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

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

      public static Not not(Where clause)
    • whereClause

      public static WhereClause whereClause(String expression, Object... params)
    • condition

      public static Condition condition(String fieldName, ConditionType conditionType, Object value, BuildControl... controls)
    • condition

      public static Condition condition(String fieldName, ConditionType conditionType, Object value1, Object value2, BuildControl... controls)
    • orderBy

      public static OrderBy orderBy(String selector, OrderByType orderByType, BuildControl... controls)
    • asc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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