Я бы посоветовал вам использовать инструмент под названием DBUnit , который предназначен именно для того, что вы ищете. В Интернете есть множество примеров использования его с Spring & Hibernate.
Для загрузки данных:
@Before
public void onSetUpInTransaction() throws Exception {
Connection conn = dataSource.getConnection();
try {
IDatabaseConnection connection = new DatabaseConnection(conn);
DatabaseConfig config = connection.getConfig();
config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY,
new HsqldbDataTypeFactory());
DataFileLoader loader = new FlatXmlDataFileLoader();
IDataSet ds = loader.load(TEST_DATA_FILE_CLUB);
DatabaseOperation.CLEAN_INSERT.execute(connection,ds);
} finally {
DataSourceUtils.releaseConnection(conn, dataSource);
}
}
Это возьмет файл XML, указанный в строке TEST_DATA_FILE_CLUB, и загрузит его в чистую копию базы данных в памяти.
Для очистки просто используйте другой метод с аннотацией @After и используйте вместо этого операцию базы данных DELETE_ALL.
Предполагая, что вы используете JUnit, размещение этих методов в вашем тестовом классе или в суперклассе, который могут расширять тестовые классы, позволит вам быстро настроить базу данных точно так, как вы хотите для каждого отдельного теста.
Файлы XML для загрузки просты:
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<competition competitionId="1" competitionName="Competition 1"
senior="1" junior="0"/>
</dataset>
загрузит строку в таблицу соревнований со значениями столбцов, как указано. Старший и младший столбцы являются логическими значениями.