# Package org.springframework.batch.item.database

@NonNullApi package org.springframework.batch.item.database

Infrastructure implementations of database based item readers and writers.

- Related Packages
  Package
  Description
  org.springframework.batch.item
  Infrastructure interfaces and primary dependencies for item concerns.
  org.springframework.batch.item.database.builder
  Builders for database item readers and writers.
  org.springframework.batch.item.database.orm
  Support classes for components using various ORM related technologies.
  org.springframework.batch.item.database.support
  Support classes for database specific semantics.
- Class
  Description
  AbstractCursorItemReader<T>
  Abstract base class for any simple item reader that opens a database cursor and continually retrieves the next row in the ResultSet.
  AbstractPagingItemReader<T>
  Abstract `ItemStreamReader` for to extend when reading database records in a paging fashion.
  BeanPropertyItemSqlParameterSourceProvider<T>
  A convenient implementation for providing BeanPropertySqlParameterSource when the item has JavaBean properties that correspond to names used for parameters in the SQL statement.
  ExtendedConnectionDataSourceProxy
  Implementation of `SmartDataSource` that is capable of keeping a single JDBC Connection which is NOT closed after each use even if `Connection.close()` is called.
  HibernateCursorItemReader<T>
  `ItemStreamReader` for reading database records built on top of Hibernate.
  HibernateItemReaderHelper<T>
  Internal shared state helper for hibernate readers managing sessions and queries.
  HibernateItemWriter<T>
  `ItemWriter` that uses a Hibernate session to save or update entities that are not part of the current Hibernate session.
  HibernatePagingItemReader<T>
  `ItemReader` for reading database records built on top of Hibernate and reading only up to a fixed number of items at a time.
  ItemPreparedStatementSetter<T>
  A convenient strategy for SQL updates, acting effectively as the inverse of `RowMapper`.
  ItemSqlParameterSourceProvider<T>
  A convenient strategy for providing SqlParameterSource for named parameter SQL updates.
  JdbcBatchItemWriter<T>
  `ItemWriter` that uses the batching features from `NamedParameterJdbcTemplate` to execute a batch of statements for all items provided.
  JdbcCursorItemReader<T>
  Simple item reader implementation that opens a JDBC cursor and continually retrieves the next row in the ResultSet.
  JdbcPagingItemReader<T>
  `ItemReader` for reading database records using JDBC in a paging fashion.
  JdbcParameterUtils
  Helper methods for SQL statement parameter parsing.
  JpaCursorItemReader<T>
  `ItemStreamReader` implementation based on JPA `Query.getResultStream()`.
  JpaItemWriter<T>
  `ItemWriter` that is using a JPA EntityManagerFactory to merge any Entities that aren't part of the persistence context.
  JpaPagingItemReader<T>
  `ItemReader` for reading database records built on top of JPA.
  Order
  The direction of the sort in an ORDER BY clause.
  PagingQueryProvider
  Interface defining the functionality to be provided for generating paging queries for use with Paging Item Readers.
  StoredProcedureItemReader<T>
  Item reader implementation that executes a stored procedure and then reads the returned cursor and continually retrieves the next row in the `ResultSet`.