Class AbstractSQL<T>

  • Direct Known Subclasses:
    SQL

    public abstract class AbstractSQL<T>
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String AND  
      private static java.lang.String OR  
      private AbstractSQL.SQLStatement sql  
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractSQL()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      T ADD_ROW()
      used to add a new inserted row while do multi-row insert.
      T AND()  
      <E> T applyForEach​(java.lang.Iterable<E> iterable, AbstractSQL.ForEachConsumer<T,​E> forEachSqlConsumer)
      Apply sql phrases that provide by SQL consumer for iterable.
      T applyIf​(boolean applyCondition, java.util.function.Consumer<T> sqlConsumer)
      Apply sql phrases that provide by SQL consumer if condition is matches.
      T applyIf​(java.util.function.BooleanSupplier applyConditionSupplier, java.util.function.Consumer<T> sqlConsumer)
      Apply sql phrases that provide by SQL consumer if condition is matches.
      T DELETE_FROM​(java.lang.String table)  
      T FETCH_FIRST_ROWS_ONLY​(int value)
      Set the fetch first rows value.
      T FETCH_FIRST_ROWS_ONLY​(java.lang.String variable)
      Set the fetch first rows variable string(e.g.
      T FROM​(java.lang.String table)  
      T FROM​(java.lang.String... tables)
      From.
      abstract T getSelf()  
      T GROUP_BY​(java.lang.String columns)  
      T GROUP_BY​(java.lang.String... columns)
      Group by.
      T HAVING​(java.lang.String conditions)  
      T HAVING​(java.lang.String... conditions)
      Having.
      T INNER_JOIN​(java.lang.String join)  
      T INNER_JOIN​(java.lang.String... joins)
      Inner join.
      T INSERT_INTO​(java.lang.String tableName)  
      T INTO_COLUMNS​(java.lang.String... columns)
      Into columns.
      T INTO_VALUES​(java.lang.String... values)
      Into values.
      T JOIN​(java.lang.String join)  
      T JOIN​(java.lang.String... joins)
      Join.
      T LEFT_OUTER_JOIN​(java.lang.String join)  
      T LEFT_OUTER_JOIN​(java.lang.String... joins)
      Left outer join.
      T LIMIT​(int value)
      Set the limit value.
      T LIMIT​(java.lang.String variable)
      Set the limit variable string(e.g.
      T OFFSET​(long value)
      Set the offset value.
      T OFFSET​(java.lang.String variable)
      Set the offset variable string(e.g.
      T OFFSET_ROWS​(long value)
      Set the offset rows value.
      T OFFSET_ROWS​(java.lang.String variable)
      Set the offset rows variable string(e.g.
      T OR()  
      T ORDER_BY​(java.lang.String columns)  
      T ORDER_BY​(java.lang.String... columns)
      Order by.
      T OUTER_JOIN​(java.lang.String join)  
      T OUTER_JOIN​(java.lang.String... joins)
      Outer join.
      T RIGHT_OUTER_JOIN​(java.lang.String join)  
      T RIGHT_OUTER_JOIN​(java.lang.String... joins)
      Right outer join.
      T SELECT​(java.lang.String columns)  
      T SELECT​(java.lang.String... columns)
      Select.
      T SELECT_DISTINCT​(java.lang.String columns)  
      T SELECT_DISTINCT​(java.lang.String... columns)
      Select distinct.
      T SET​(java.lang.String sets)  
      T SET​(java.lang.String... sets)
      Sets the.
      private AbstractSQL.SQLStatement sql()  
      java.lang.String toString()  
      T UPDATE​(java.lang.String table)  
      <A extends java.lang.Appendable>
      A
      usingAppender​(A a)  
      T VALUES​(java.lang.String columns, java.lang.String values)  
      T WHERE​(java.lang.String conditions)  
      T WHERE​(java.lang.String... conditions)
      Where.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractSQL

        public AbstractSQL()
    • Method Detail

      • getSelf

        public abstract T getSelf()
      • UPDATE

        public T UPDATE​(java.lang.String table)
      • SET

        public T SET​(java.lang.String sets)
      • SET

        public T SET​(java.lang.String... sets)
        Sets the.
        Parameters:
        sets - the sets
        Returns:
        the t
        Since:
        3.4.2
      • INSERT_INTO

        public T INSERT_INTO​(java.lang.String tableName)
      • VALUES

        public T VALUES​(java.lang.String columns,
                        java.lang.String values)
      • INTO_COLUMNS

        public T INTO_COLUMNS​(java.lang.String... columns)
        Into columns.
        Parameters:
        columns - the columns
        Returns:
        the t
        Since:
        3.4.2
      • INTO_VALUES

        public T INTO_VALUES​(java.lang.String... values)
        Into values.
        Parameters:
        values - the values
        Returns:
        the t
        Since:
        3.4.2
      • SELECT

        public T SELECT​(java.lang.String columns)
      • SELECT

        public T SELECT​(java.lang.String... columns)
        Select.
        Parameters:
        columns - the columns
        Returns:
        the t
        Since:
        3.4.2
      • SELECT_DISTINCT

        public T SELECT_DISTINCT​(java.lang.String columns)
      • SELECT_DISTINCT

        public T SELECT_DISTINCT​(java.lang.String... columns)
        Select distinct.
        Parameters:
        columns - the columns
        Returns:
        the t
        Since:
        3.4.2
      • DELETE_FROM

        public T DELETE_FROM​(java.lang.String table)
      • FROM

        public T FROM​(java.lang.String table)
      • FROM

        public T FROM​(java.lang.String... tables)
        From.
        Parameters:
        tables - the tables
        Returns:
        the t
        Since:
        3.4.2
      • JOIN

        public T JOIN​(java.lang.String join)
      • JOIN

        public T JOIN​(java.lang.String... joins)
        Join.
        Parameters:
        joins - the joins
        Returns:
        the t
        Since:
        3.4.2
      • INNER_JOIN

        public T INNER_JOIN​(java.lang.String join)
      • INNER_JOIN

        public T INNER_JOIN​(java.lang.String... joins)
        Inner join.
        Parameters:
        joins - the joins
        Returns:
        the t
        Since:
        3.4.2
      • LEFT_OUTER_JOIN

        public T LEFT_OUTER_JOIN​(java.lang.String join)
      • LEFT_OUTER_JOIN

        public T LEFT_OUTER_JOIN​(java.lang.String... joins)
        Left outer join.
        Parameters:
        joins - the joins
        Returns:
        the t
        Since:
        3.4.2
      • RIGHT_OUTER_JOIN

        public T RIGHT_OUTER_JOIN​(java.lang.String join)
      • RIGHT_OUTER_JOIN

        public T RIGHT_OUTER_JOIN​(java.lang.String... joins)
        Right outer join.
        Parameters:
        joins - the joins
        Returns:
        the t
        Since:
        3.4.2
      • OUTER_JOIN

        public T OUTER_JOIN​(java.lang.String join)
      • OUTER_JOIN

        public T OUTER_JOIN​(java.lang.String... joins)
        Outer join.
        Parameters:
        joins - the joins
        Returns:
        the t
        Since:
        3.4.2
      • WHERE

        public T WHERE​(java.lang.String conditions)
      • WHERE

        public T WHERE​(java.lang.String... conditions)
        Where.
        Parameters:
        conditions - the conditions
        Returns:
        the t
        Since:
        3.4.2
      • OR

        public T OR()
      • AND

        public T AND()
      • GROUP_BY

        public T GROUP_BY​(java.lang.String columns)
      • GROUP_BY

        public T GROUP_BY​(java.lang.String... columns)
        Group by.
        Parameters:
        columns - the columns
        Returns:
        the t
        Since:
        3.4.2
      • HAVING

        public T HAVING​(java.lang.String conditions)
      • HAVING

        public T HAVING​(java.lang.String... conditions)
        Having.
        Parameters:
        conditions - the conditions
        Returns:
        the t
        Since:
        3.4.2
      • ORDER_BY

        public T ORDER_BY​(java.lang.String columns)
      • ORDER_BY

        public T ORDER_BY​(java.lang.String... columns)
        Order by.
        Parameters:
        columns - the columns
        Returns:
        the t
        Since:
        3.4.2
      • LIMIT

        public T LIMIT​(java.lang.String variable)
        Set the limit variable string(e.g. "#{limit}").
        Parameters:
        variable - a limit variable string
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        OFFSET(String)
      • LIMIT

        public T LIMIT​(int value)
        Set the limit value.
        Parameters:
        value - an offset value
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        OFFSET(long)
      • OFFSET

        public T OFFSET​(java.lang.String variable)
        Set the offset variable string(e.g. "#{offset}").
        Parameters:
        variable - a offset variable string
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        LIMIT(String)
      • OFFSET

        public T OFFSET​(long value)
        Set the offset value.
        Parameters:
        value - an offset value
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        LIMIT(int)
      • FETCH_FIRST_ROWS_ONLY

        public T FETCH_FIRST_ROWS_ONLY​(java.lang.String variable)
        Set the fetch first rows variable string(e.g. "#{fetchFirstRows}").
        Parameters:
        variable - a fetch first rows variable string
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        OFFSET_ROWS(String)
      • FETCH_FIRST_ROWS_ONLY

        public T FETCH_FIRST_ROWS_ONLY​(int value)
        Set the fetch first rows value.
        Parameters:
        value - a fetch first rows value
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        OFFSET_ROWS(long)
      • OFFSET_ROWS

        public T OFFSET_ROWS​(java.lang.String variable)
        Set the offset rows variable string(e.g. "#{offset}").
        Parameters:
        variable - a offset rows variable string
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        FETCH_FIRST_ROWS_ONLY(String)
      • OFFSET_ROWS

        public T OFFSET_ROWS​(long value)
        Set the offset rows value.
        Parameters:
        value - an offset rows value
        Returns:
        a self instance
        Since:
        3.5.2
        See Also:
        FETCH_FIRST_ROWS_ONLY(int)
      • ADD_ROW

        public T ADD_ROW()
        used to add a new inserted row while do multi-row insert.
        Returns:
        the t
        Since:
        3.5.2
      • usingAppender

        public <A extends java.lang.Appendable> A usingAppender​(A a)
      • applyIf

        public T applyIf​(boolean applyCondition,
                         java.util.function.Consumer<T> sqlConsumer)
        Apply sql phrases that provide by SQL consumer if condition is matches.
        Parameters:
        applyCondition - if true apply sql phrases
        sqlConsumer - a consumer that append sql phrase to SQL instance
        Returns:
        a self instance
        Since:
        3.5.15
        See Also:
        applyIf(BooleanSupplier, Consumer)
      • applyIf

        public T applyIf​(java.util.function.BooleanSupplier applyConditionSupplier,
                         java.util.function.Consumer<T> sqlConsumer)
        Apply sql phrases that provide by SQL consumer if condition is matches.
        Parameters:
        applyConditionSupplier - if supplier return true apply sql phrases
        sqlConsumer - a consumer that append sql phrase to SQL instance
        Returns:
        a self instance
        Since:
        3.5.15
        See Also:
        applyIf(boolean, Consumer)
      • applyForEach

        public <E> T applyForEach​(java.lang.Iterable<E> iterable,
                                  AbstractSQL.ForEachConsumer<T,​E> forEachSqlConsumer)
        Apply sql phrases that provide by SQL consumer for iterable.
        Type Parameters:
        E - element type of iterable
        Parameters:
        iterable - an iterable
        forEachSqlConsumer - a consumer that append sql phrase to SQL instance
        Returns:
        a self instance
        Since:
        3.5.15
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object