# Package org.apache.commons.dbutils

DbUtils is a small set of classes designed to make working with JDBC easier. JDBC resource cleanup code is mundane, error prone work so these classes abstract out all of the cleanup tasks from your code leaving you with what you really wanted to do with JDBC in the first place: query and update data.

This package contains the core classes and interfaces - DbUtils, QueryRunner and the ResultSetHandler interface should be your first items of interest.

- Interface Summary
  Interface | Description
  --- | ---
  ColumnHandler<T> | Defines how to process columns when constructing a bean from a `ResultSet`.
  PropertyHandler | Defines how to handle properties when constructing a bean from a `ResultSet`.
  ResultSetHandler<T> | Implementations of this interface convert ResultSets into other objects.
  RowProcessor | `RowProcessor` implementations convert `ResultSet` rows into various other objects.

- Class Summary
  Class | Description
  --- | ---
  AbstractQueryRunner | The base class for QueryRunner & AsyncQueryRunner.
  AsyncQueryRunner | Executes SQL queries with pluggable strategies for handling `ResultSet`s.
  BaseResultSetHandler<T> | Extensions of this class convert ResultSets into other objects.
  BasicRowProcessor | Basic implementation of the `RowProcessor` interface.
  BeanProcessor | `BeanProcessor` matches column names to bean property names and converts `ResultSet` columns into objects for those bean properties.
  DbUtils | A collection of JDBC helper methods.
  GenerousBeanProcessor | Provides generous name matching (e.g.
  OutParameter<T> | Represents an OUT parameter for a stored procedure.
  ProxyFactory | Creates proxy implementations of JDBC interfaces.
  QueryLoader | `QueryLoader` is a registry for sets of queries so that multiple copies of the same queries aren't loaded into memory.
  QueryRunner | Executes SQL queries with pluggable strategies for handling `ResultSet`s.
  ResultSetIterator | Wraps a `ResultSet` in an `Iterator&lt;Object[]&gt;`.
  StatementConfiguration | Configuration options for a `Statement` when preparing statements in `QueryRunner`.
  StatementConfiguration.Builder | Builder class for `StatementConfiguration` for more flexible construction.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Column | Annotation for BeanProcessor to receive hints of the field name rather than dissecting the method name.