1 package liquibase.executor.jvm; 2 3 import java.sql.PreparedStatement; 4 5 /** 6 * Generic callback interface for code that operates on a PreparedStatement. Allows to execute any number of operations 7 * on a single PreparedStatement, for example a single <code>executeUpdate</code> call or repeated 8 * <code>executeUpdate</code> calls with varying parameters. 9 * <p/> 10 * 11 * @author Spring Framework 12 */ 13 interface PreparedStatementCallback { 14 15 /** 16 * Gets called by <code>JdbcTemplate.execute</code> with an active JDBC PreparedStatement. Does not need to care 17 * about closing the Statement or the Connection, or about handling transactions: this will all be handled by 18 * JdbcTemplate. 19 * 20 * @param ps 21 * active JDBC PreparedStatement 22 * @return a result object, or <code>null</code> if none 23 * @throws java.sql.SQLException 24 * if thrown by a JDBC method, to be auto-converted to a DataAccessException by a SQLExceptionTranslator 25 * @throws liquibase.exception.DatabaseException 26 * in case of custom exceptions 27 */ 28 Object doInPreparedStatement(PreparedStatement ps); 29 30 }