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.

    • Element Detail

      • 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

        BindList.EmptyHandling onEmpty
        Returns:
        what to do when the argument is null or empty
        Default:
        org.jdbi.v3.sqlobject.customizer.BindList.EmptyHandling.THROW