# Package org.springframework.jdbc

The classes in this package make JDBC easier to use and reduce the likelihood of common errors.

See: Description

- Exception Summary
  Exception | Description
  --- | ---
  BadSqlGrammarException | Exception thrown when SQL specified is invalid.
  CannotGetJdbcConnectionException | Fatal exception thrown when we can't connect to an RDBMS using JDBC.
  IncorrectResultSetColumnCountException | Data access exception thrown when a result set did not have the correct column count, for example when expecting a single column but getting 0 or more than 1 columns.
  InvalidResultSetAccessException | Exception thrown when a ResultSet has been accessed in an invalid fashion.
  JdbcUpdateAffectedIncorrectNumberOfRowsException | Exception thrown when a JDBC update affects an unexpected number of rows.
  LobRetrievalFailureException | Exception to be thrown when a LOB could not be retrieved.
  SQLWarningException | Exception thrown when we're not ignoring `SQLWarnings`.
  UncategorizedSQLException | Exception thrown when we can't classify a SQLException into one of our generic data access exceptions.

## Package org.springframework.jdbc Description

The classes in this package make JDBC easier to use and reduce the likelihood of common errors. In particular, they:

- Simplify error handling, avoiding the need for try/catch/final blocks in application code.
- Present exceptions to application code in a generic hierarchy of unchecked exceptions, enabling applications to catch data access exceptions without being dependent on JDBC, and to ignore fatal exceptions there is no value in catching.
- Allow the implementation of error handling to be modified to target different RDBMSes without introducing proprietary dependencies into application code.

This package and related packages are discussed in Chapter 9 of Expert One-On-One J2EE Design and Development by Rod Johnson (Wrox, 2002).