Annotation Type BindList


@Retention(RUNTIME) @Target(PARAMETER) public @interface BindList
Binds each value in the annotated Iterable or array/varargs argument, and defines a named attribute as a comma-separated list of each bound parameter name. Common use cases:
 @SqlQuery("select * from things where id in (<ids>)")
 List<Thing> getThings(@BindList int... ids)

 @SqlUpdate("insert into things (<columnNames>) values (<values>)")
 void insertThings(@DefineList List<String> columnNames, @BindList List<Object> values)
 

Throws IllegalArgumentException if the argument is not an array or Iterable. How null and empty collections are handled can be configured with onEmpty:EmptyHandling - throws IllegalArgumentException by default.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    describes what needs to be done if the passed argument is null or empty
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    What to do when the argument is null or empty.
    The attribute name to define.
  • Element Details

    • value

      String value
      The attribute name to define. If omitted, the name of the annotated parameter is used. It is an error to omit the name when there is no parameter naming information in your class files.
      Returns:
      the attribute name.
      Default:
      ""
    • onEmpty

      What to do when the argument is null or empty.
      Returns:
      The strategy for handling an empty list. By default, throw an IllegalArgumentException.
      See Also:
      Default:
      THROW