Interface SelectOperable

All Superinterfaces:
WhereOperable<Select>
All Known Subinterfaces:
Select
All Known Implementing Classes:
Select.Default

public interface SelectOperable extends WhereOperable<Select>
select相关操作
Author:
Maning
  • Method Details

    • as

      指定别名,作为表子查询(派生表)
      Parameters:
      alias - 别名
      Returns:
      派生表子查询
    • asSubQuery

      SubQueryExpression asSubQuery()
      作为标量子查询|行子查询
      Returns:
      子查询
    • crossJoin

      default Select crossJoin(TableRef table)
      交差连接
      Parameters:
      table - 表
      Returns:
      join操作
    • crossJoin

      default Select crossJoin(Class<?> entityClass)
      交差连接
      Parameters:
      entityClass - 实体类
      Returns:
      join操作
    • crossJoin

      default Select crossJoin(String tableName)
      交差连接
      Parameters:
      tableName - 表名
      Returns:
      join操作
    • distinct

      default Select distinct()
      去重
      Returns:
      select语句
    • distinct

      Select distinct(boolean distinct)
      去重
      Parameters:
      distinct - 是否去重
      Returns:
      select语句
    • from

      Select from(TableRef table)
      from操作
      Parameters:
      table - 表
      Returns:
      select语句
    • from

      default Select from(Class<?> entityClass)
      from操作
      Parameters:
      entityClass - 实体类
      Returns:
      select语句
    • from

      default Select from(String tableName)
      from操作
      Parameters:
      tableName - 表名
      Returns:
      select语句
    • fullJoin

      default JoinOperable<Select> fullJoin(TableRef table)
      全连接
      Parameters:
      table - 表
      Returns:
      join操作
    • fullJoin

      default JoinOperable<Select> fullJoin(Class<?> entityClass)
      全连接
      Parameters:
      entityClass - 实体类
      Returns:
      join操作
    • fullJoin

      default JoinOperable<Select> fullJoin(String tableName)
      全连接
      Parameters:
      tableName - 表名
      Returns:
      join操作
    • groupBy

      default Select groupBy(Collection<? extends Expression> groupBys)
      分组
      Parameters:
      groupBys - 分组列
      Returns:
      查询语句
    • groupBy

      default Select groupBy(Expression... groupBys)
      分组
      Parameters:
      groupBys - 分组列
      Returns:
      查询语句
    • groupBy

      default Select groupBy(String... fields)
      分组
      Parameters:
      fields - 分组列
      Returns:
      查询语句
    • groupBy

      default Select groupBy(Enum<?>... groupBys)
      分组
      Parameters:
      groupBys - 分组列
      Returns:
      查询语句
    • groupBy

      default <T> Select groupBy(SerializableFunction<T,?>... groupBys)
      分组
      Type Parameters:
      T - 实体类型
      Parameters:
      groupBys - 分组列
      Returns:
      查询语句
    • groupBy

      default <T> Select groupBy(SerializableFunction<T,?> column)
      分组
      Type Parameters:
      T - 实体类型
      Parameters:
      column - 分组列
      Returns:
      查询语句
    • groupBy

      default Select groupBy(Enum<?> column)
      分组
      Parameters:
      column - 分组列
      Returns:
      查询语句
    • groupBy

      default Select groupBy(String field)
      分组
      Parameters:
      field - java属性列
      Returns:
      查询语句
    • groupBy

      Select groupBy(Expression groupBy)
      分组
      Parameters:
      groupBy - 分组列
      Returns:
      查询语句
    • having

      Select having(Collection<? extends Condition> havings)
      分组过滤
      Parameters:
      havings - 条件
      Returns:
      查询语句
    • having

      default Select having(Condition... havings)
      分组过滤
      Parameters:
      havings - 条件
      Returns:
      查询语句
    • having

      default Select having(Expression expr, Function<Expression, Condition> compareOperate)
      having
      Parameters:
      expr - 表达式/列
      compareOperate - 比较操作,只支持无参的操作,比如 isNotNull,isNull
      Returns:
      查询语句
    • having

      default <E> Select having(SerializableFunction<E,?> column, Function<Expression, Condition> compareOperate)
      having
      Type Parameters:
      E - 实体类类型
      Parameters:
      column - 列
      compareOperate - 比较操作,只支持无参的操作,比如 isNotNull,isNull
      Returns:
      查询语句
    • having

      default Select having(Enum<?> column, Function<Expression, Condition> compareOperate)
      having
      Parameters:
      column - 列
      compareOperate - 比较操作,只支持无参的操作,比如 isNotNull,isNull
      Returns:
      查询语句
    • having

      default Select having(String field, Function<Expression, Condition> compareOperate)
      having
      Parameters:
      field - 实体类属性
      compareOperate - 比较操作,只支持无参的操作,比如 isNotNull,isNull
      Returns:
      查询语句
    • having

      default <V> Select having(Expression expr, BiFunction<Expression, V, Condition> compareOperate, V val)
      having
      Type Parameters:
      V - 值类型
      Parameters:
      expr - 表达式/列
      compareOperate - 比较操作,只支持单一参数的操作,使用in等可变参数操作时,val只能传入List不能传入数组
      val - 值
      Returns:
      查询语句
    • having

      default <E,V> Select having(SerializableFunction<E,?> column, BiFunction<Expression, V, Condition> compareOperate, V val)
      having
      Type Parameters:
      E - 实体类类型
      V - 值类型
      Parameters:
      column - 列
      compareOperate - 比较操作,只支持单一参数的操作,使用in等可变参数操作时,val只能传入List不能传入数组
      val - 值
      Returns:
      查询语句
    • having

      default <V> Select having(Enum<?> column, BiFunction<Expression, V, Condition> compareOperate, V val)
      having
      Type Parameters:
      V - 值类型
      Parameters:
      column - 列
      compareOperate - 比较操作,只支持单一参数的操作,使用in等可变参数操作时,val只能传入List不能传入数组
      val - 值
      Returns:
      查询语句
    • having

      default <V> Select having(String field, BiFunction<Expression, V, Condition> compareOperate, V val)
      having
      Type Parameters:
      V - 值类型
      Parameters:
      field - 实体类属性
      compareOperate - 比较操作,只支持单一参数的操作,使用in等可变参数操作时,val只能传入List不能传入数组
      val - 值
      Returns:
      查询语句
    • having

      Select having(Condition having)
      分组过滤
      Parameters:
      having - 条件
      Returns:
      查询语句
    • having

      default <S extends Search> Select having(S search)
      分组过滤
      Type Parameters:
      S - 筛选对象类型
      Parameters:
      search - 自定义筛选对象
      Returns:
      查询语句
    • having

      default Select having(Searchable search)
      分组过滤
      Parameters:
      search - 筛选对象
      Returns:
      查询语句
    • join

      JoinOperable<Select> join(JoinType joinType, TableRef table)
      连接查询
      Parameters:
      joinType - 连接类型
      table - 表
      Returns:
      join操作
    • join

      default JoinOperable<Select> join(TableRef table)
      内连接
      Parameters:
      table - 表
      Returns:
      join操作
    • join

      default JoinOperable<Select> join(Class<?> entityClass)
      内连接
      Parameters:
      entityClass - 实体类
      Returns:
      join操作
    • join

      default JoinOperable<Select> join(String tableName)
      内连接
      Parameters:
      tableName - 表名
      Returns:
      join操作
    • leftJoin

      default JoinOperable<Select> leftJoin(TableRef table)
      左连接
      Parameters:
      table - 表
      Returns:
      join操作
    • leftJoin

      default JoinOperable<Select> leftJoin(Class<?> entityClass)
      左连接
      Parameters:
      entityClass - 实体类
      Returns:
      join操作
    • leftJoin

      default JoinOperable<Select> leftJoin(String tableName)
      左连接
      Parameters:
      tableName - 表名
      Returns:
      join操作
    • limit

      default Select limit(Integer limit)
      限制条数
      Parameters:
      limit - 限制条数
      Returns:
      查询语句
    • limit

      default Select limit(Pageable pageable)
      限制条数
      Parameters:
      pageable - 分页
      Returns:
      查询语句
    • limit

      Select limit(Integer limit, Integer offset)
      限制条数和跳过条数
      Parameters:
      limit - 限制条数
      offset - 跳过条数
      Returns:
      查询语句
    • naturalJoin

      default Select naturalJoin(TableRef table)
      自然连接
      Parameters:
      table - 表
      Returns:
      join操作
    • naturalJoin

      default Select naturalJoin(Class<?> entityClass)
      自然连接
      Parameters:
      entityClass - 实体类
      Returns:
      join操作
    • naturalJoin

      default Select naturalJoin(String tableName)
      自然连接
      Parameters:
      tableName - 表名
      Returns:
      join操作
    • orderBy

      Select orderBy(Collection<? extends OrderBy> orderBys)
      排序
      Parameters:
      orderBys - 列排序
      Returns:
      查询语句
    • orderBy

      default Select orderBy(OrderBy... orderBys)
      排序
      Parameters:
      orderBys - 列排序
      Returns:
      查询语句
    • orderBy

      Select orderBy(OrderBy orderBy)
      排序
      Parameters:
      orderBy - 列排序
      Returns:
      查询语句
    • orderBy

      default <T> Select orderBy(SerializableFunction<T,?> column)
      排序
      Type Parameters:
      T - 实体类
      Parameters:
      column - 列
      Returns:
      查询语句
    • orderBy

      default <T> Select orderBy(SerializableFunction<T,?> column, Order order)
      排序
      Type Parameters:
      T - 实体类
      Parameters:
      column - 列
      order - 顺序
      Returns:
      查询语句
    • orderBy

      default Select orderBy(Expression column)
      排序
      Parameters:
      column - 列
      Returns:
      查询语句
    • orderBy

      default Select orderBy(Expression column, Order order)
      排序
      Parameters:
      column - 列
      order - 顺序
      Returns:
      查询语句
    • orderBy

      default Select orderBy(String field)
      排序
      Parameters:
      field - java属性名
      Returns:
      查询语句
    • orderBy

      default Select orderBy(String field, Order order)
      排序
      Parameters:
      field - java属性名
      order - 顺序
      Returns:
      查询语句
    • orderBy

      default Select orderBy(Enum<?> column)
      排序
      Parameters:
      column - 列
      Returns:
      查询语句
    • orderBy

      default Select orderBy(Enum<?> column, Order order)
      排序
      Parameters:
      column - 列
      order - 顺序
      Returns:
      查询语句
    • rightJoin

      default JoinOperable<Select> rightJoin(TableRef table)
      右连接
      Parameters:
      table - 表
      Returns:
      join操作
    • rightJoin

      default JoinOperable<Select> rightJoin(Class<?> entityClass)
      右连接
      Parameters:
      entityClass - 实体类
      Returns:
      join操作
    • rightJoin

      default JoinOperable<Select> rightJoin(String tableName)
      右连接
      Parameters:
      tableName - 表名
      Returns:
      join操作
    • select

      Select select(Collection<?> selects)
      select操作
      可传入Class,作为table.* Table.of(Class)
      可传入Table,当作table.* 可传入String(或lombok.@FieldNameConstants,本质还是String),作为列Column.of(String)
      可传入Enum,当作lombok.@FieldNameConstants(asEnum = true)解析,作为列Column.of(Enum)
      可传入SerializableFunction,作为列Column.of(SerializableFunction)
      可传入Select,当作标量子查询,会包装为SubQueryExpression
      可传入所有Expression 及其子类
      可传入别名AliasSegment
      可传入Literal 支持的类型(String和Enum除外),String和Enum因为当作列解析,必须使用Literal包装传入
      Parameters:
      selects - 选择的列
      Returns:
      select语句
    • select

      default Select select(Object... selects)
      select操作
      Parameters:
      selects - 选择的列
      Returns:
      select语句
      See Also:
    • select

      default <T> Select select(SerializableFunction<T,?>... selects)
      select操作
      Type Parameters:
      T - 实体类型
      Parameters:
      selects - 选择的列
      Returns:
      select语句
    • select

      default <T> Select select(SerializableFunction<T,?> select)
      select操作
      Type Parameters:
      T - 实体类型
      Parameters:
      select - 选择的列
      Returns:
      select语句
    • clearSelect

      Select clearSelect()
      清除当前selection
      Returns:
      select语句