Class NativeQuery


  • public class NativeQuery
    extends java.lang.Object
    Represents a query that is ready for execution by backend. The main difference from JDBC is ? are replaced with $1, $2, etc.
    • Constructor Summary

      Constructors 
      Constructor Description
      NativeQuery​(java.lang.String nativeSql, int[] bindPositions, boolean multiStatement, SqlCommand dml)  
      NativeQuery​(java.lang.String nativeSql, SqlCommand dml)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.StringBuilder appendBindName​(java.lang.StringBuilder sb, int index)  
      static java.lang.String bindName​(int index)
      Returns $1, $2, etc names of bind variables used by backend.
      static int calculateBindLength​(int bindCount)
      Calculate the text length required for the given number of bind variables including dollars.
      SqlCommand getCommand()  
      java.lang.String toString​(ParameterList parameters)
      Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • nativeSql

        public final java.lang.String nativeSql
      • bindPositions

        public final int[] bindPositions
      • multiStatement

        public final boolean multiStatement
    • Constructor Detail

      • NativeQuery

        public NativeQuery​(java.lang.String nativeSql,
                           SqlCommand dml)
      • NativeQuery

        public NativeQuery​(java.lang.String nativeSql,
                           int[] bindPositions,
                           boolean multiStatement,
                           SqlCommand dml)
    • Method Detail

      • toString

        public java.lang.String toString​(ParameterList parameters)
        Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.
        Parameters:
        parameters - a ParameterList returned by this Query's Query.createParameterList() method, or null to leave the parameter placeholders unsubstituted.
        Returns:
        a human-readable representation of this query
      • bindName

        public static java.lang.String bindName​(int index)
        Returns $1, $2, etc names of bind variables used by backend.
        Parameters:
        index - index of a bind variable
        Returns:
        bind variable name
      • appendBindName

        public static java.lang.StringBuilder appendBindName​(java.lang.StringBuilder sb,
                                                             int index)
      • calculateBindLength

        public static int calculateBindLength​(int bindCount)
        Calculate the text length required for the given number of bind variables including dollars. Do this to avoid repeated calls to AbstractStringBuilder.expandCapacity(...) and Arrays.copyOf
        Parameters:
        bindCount - total number of parameters in a query
        Returns:
        int total character length for $xyz kind of binds