The classes in this package represent RDBMS queries, updates, and stored procedures as threadsafe, reusable objects. This approach is modelled by JDO, although of course objects returned by queries are "disconnected" from the database.

This higher level of JDBC abstraction depends on the lower-level abstraction in the `org.springframework.jdbc.core` package. Exceptions thrown are as in the `org.springframework.dao` package, meaning that code using this package does not need to implement JDBC or RDBMS-specific error handling.

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