# Package org.apache.commons.dbutils

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.

- Related Packages
  Package
  Description
  org.apache.commons.dbutils.handlers
  Implementations of the org.apache.commons.dbutils.ResultSetHandler interface.
  org.apache.commons.dbutils.wrappers
  Wrappers that add functionality to java.sql classes.
- 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.
  Column
  Annotation for BeanProcessor to receive hints of the field name rather than dissecting the method name.
  ColumnHandler<T>
  Defines how to process columns when constructing a bean from a `ResultSet`.
  DbUtils
  A collection of JDBC helper methods.
  GenerousBeanProcessor
  Provides generous name matching (e.g.
  OutParameter<T>
  Represents an OUT parameter for a stored procedure.
  PropertyHandler
  Defines how to handle properties when constructing a bean from a `ResultSet`.
  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.
  ResultSetHandler<T>
  Implementations of this interface convert ResultSets into other objects.
  ResultSetIterator
  Wraps a `ResultSet` in an `Iterator&lt;Object[]&gt;`.
  RowProcessor
  `RowProcessor` implementations convert `ResultSet` rows into various other objects.
  StatementConfiguration
  Configuration options for a `Statement` when preparing statements in `QueryRunner`.
  StatementConfiguration.Builder
  Builder class for `StatementConfiguration` for more flexible construction.