Class ParamNameResolver

java.lang.Object
org.apache.ibatis.reflection.ParamNameResolver

public class ParamNameResolver extends Object
  • Field Details

    • GENERIC_NAME_PREFIX

      public static final String GENERIC_NAME_PREFIX
      See Also:
    • useActualParamName

      private final boolean useActualParamName
    • names

      private final SortedMap<Integer,String> names

      The key is the index and the value is the name of the parameter.
      The name is obtained from Param if specified. When Param is not specified, the parameter index is used. Note that this index could be different from the actual index when the method has special parameters (i.e. RowBounds or ResultHandler).

      • aMethod(@Param("M") int a, @Param("N") int b) -> {{0, "M"}, {1, "N"}}
      • aMethod(int a, int b) -> {{0, "0"}, {1, "1"}}
      • aMethod(int a, RowBounds rb, int b) -> {{0, "0"}, {2, "1"}}
    • hasParamAnnotation

      private boolean hasParamAnnotation
  • Constructor Details

  • Method Details

    • getActualParamName

      private String getActualParamName(Method method, int paramIndex)
    • isSpecialParameter

      private static boolean isSpecialParameter(Class<?> clazz)
    • getNames

      public String[] getNames()
      Returns parameter names referenced by SQL providers.
      Returns:
      the names
    • getNamedParams

      public Object getNamedParams(Object[] args)

      A single non-special parameter is returned without a name. Multiple parameters are named using the naming rule. In addition to the default names, this method also adds the generic names (param1, param2, ...).

      Parameters:
      args - the args
      Returns:
      the named params
    • wrapToMapIfCollection

      public static Object wrapToMapIfCollection(Object object, String actualParamName)
      Wrap to a MapperMethod.ParamMap if object is Collection or array.
      Parameters:
      object - a parameter object
      actualParamName - an actual parameter name (If specify a name, set an object to MapperMethod.ParamMap with specified name)
      Returns:
      a MapperMethod.ParamMap
      Since:
      3.5.5