Class SqlQuery

  • All Implemented Interfaces:
    java.io.Serializable

    public final class SqlQuery
    extends java.lang.Object
    implements java.io.Serializable
    Represents an SQL query along all of its arguments.
    See Also:
    Serialized Form
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      @NotNull java.util.List<?> getArguments()
      Returns the list of arguments this query has.
      @Nullable FetchDirection getFetchDirection()
      Returns the fetch direction of this query.
      @Nullable java.lang.Integer getFetchSize()
      Returns the fetch size of this query.
      @NotNull java.lang.String getSql()
      Returns the SQL that is to be execute at the database.
      @Nullable java.time.Duration getTimeout()
      Returns the timeout of this query.
      int hashCode()  
      static @NotNull SqlQuery namedQuery​(@NotNull java.lang.String sql, @NotNull java.lang.Object bean)
      Constructs a query with named arguments, using the properties/fields of given bean for resolving arguments.
      static @NotNull SqlQuery namedQuery​(@NotNull java.lang.String sql, @NotNull java.util.Map<java.lang.String,​?> valueMap)
      Constructs a query with named arguments, using given map for resolving the values of arguments.
      static @NotNull SqlQuery namedQuery​(@NotNull java.lang.String sql, @NotNull VariableResolver variableResolver)
      Creates a new SqlQuery consisting of given SQL statement and a provider for named arguments.
      static @NotNull SqlQuery query​(@NotNull java.lang.String sql, @NotNull java.util.List<?> args)  
      static @NotNull SqlQuery query​(@NotNull java.lang.String sql, java.lang.Object... args)
      Creates a new SqlQuery consisting of given SQL statement and arguments.
      void setFetchDirection​(@Nullable FetchDirection direction)
      A non-null fetch direction will be set as the fetch direction for the statements executed from this query.
      void setFetchSize​(@Nullable java.lang.Integer size)
      A non-null fetch size will be set as the fetch size for the statements executed from this query.
      void setTimeout​(@NotNull java.time.Duration timeout)
      A non-null timeout will be set as the timeout for the statements executed from this query.
      @NotNull java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • query

        @NotNull
        public static @NotNull SqlQuery query​(@NotNull
                                              @NotNull java.lang.String sql,
                                              java.lang.Object... args)
        Creates a new SqlQuery consisting of given SQL statement and arguments. '?' characters act as placeholders for arguments in the query.
      • query

        @NotNull
        public static @NotNull SqlQuery query​(@NotNull
                                              @NotNull java.lang.String sql,
                                              @NotNull
                                              @NotNull java.util.List<?> args)
        See Also:
        query(String, Object...)
      • namedQuery

        @NotNull
        public static @NotNull SqlQuery namedQuery​(@NotNull
                                                   @NotNull java.lang.String sql,
                                                   @NotNull
                                                   @NotNull VariableResolver variableResolver)
        Creates a new SqlQuery consisting of given SQL statement and a provider for named arguments. The argument names in SQL should be prefixed by a colon, e.g. ":argument".
        Throws:
        SqlSyntaxException - if SQL is malformed
        VariableResolutionException - if variableResolver can't provide values for named parameters
      • getSql

        @NotNull
        public @NotNull java.lang.String getSql()
        Returns the SQL that is to be execute at the database. If the original query was a named query, the variable placeholders will have been replaced by positional placeholders in this query.
      • getArguments

        @NotNull
        public @NotNull java.util.List<?> getArguments()
        Returns the list of arguments this query has.
      • getFetchSize

        @Nullable
        public @Nullable java.lang.Integer getFetchSize()
        Returns the fetch size of this query.
      • setFetchSize

        public void setFetchSize​(@Nullable
                                 @Nullable java.lang.Integer size)
        A non-null fetch size will be set as the fetch size for the statements executed from this query. If the fetch size specified is zero, the JDBC driver ignores the value and makes its own best guess of the fetch size.
        Parameters:
        size - fetch size in rows or null
        Throws:
        java.lang.IllegalArgumentException - if size is < 0
      • getFetchDirection

        @Nullable
        public @Nullable FetchDirection getFetchDirection()
        Returns the fetch direction of this query.
      • setFetchDirection

        public void setFetchDirection​(@Nullable
                                      @Nullable FetchDirection direction)
        A non-null fetch direction will be set as the fetch direction for the statements executed from this query.
        Parameters:
        direction - fetch direction or null
      • getTimeout

        @Nullable
        public @Nullable java.time.Duration getTimeout()
        Returns the timeout of this query.
      • setTimeout

        public void setTimeout​(@NotNull
                               @NotNull java.time.Duration timeout)
        A non-null timeout will be set as the timeout for the statements executed from this query. If the timeout specified is zero, there is no limit for execution time
        Throws:
        java.lang.IllegalArgumentException - if timeout is negative
        See Also:
        Statement.setQueryTimeout(int)
      • toString

        @NotNull
        public @NotNull java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object