Первое, что вы должны сделать, это покрыть свой слой DAO в тестах. Таким образом, вы будете знать, если вы что-то сломали во время конверсии. Если вы перемещаете хранимую процедуру из одной СУБД в Oracle, вам также следует написать тесты для этого, используя такую инфраструктуру, как DbUnit .
У вас должен быть экземпляр TEST DB, заполненный образцами данных, которые не изменяются. Вы должны быть в состоянии обновить эту БД с помощью того же набора образцов данных после того, как завершите свои тесты. Это гарантирует, что ваша TEST DB находится в известном состоянии. Затем ваши входные параметры будут сопоставлены с ожидаемым (правильным) результатом. Ваш тест прочитает эти пары и выполнит их для экземпляра тестовой БД и подтвердит, что ожидаемый результат возвращается. Предполагая, что ваши тесты изменяют БД, вы захотите обновить БД между запусками вашего набора тестов.
Во-вторых, если вы уже заходите и меняете некоторые реализации доступа к данным для Oracle, почему бы не использовать это как возможность перенести часть этой бизнес-логики из БД в Java? Существует много хорошо задокументированных проблем с поддержкой больших баз кода в СУБД.
если мы попытаемся создать какой-нибудь небольшой скрипт, который будет проверять каждый метод, анализировать соответствующую информацию и делать из него сопоставления iBatis.
Я не рекомендую это. Время, которое вы потратите на настройку сценария для каждого особого случая, плюс поиск всех ошибок, которые он внесет, будет лучше потрачено на преобразование думающим человеком.
для целей обслуживания и разделения, если у нас есть 1 отображение iBatis для каждого DAO
Это хорошая идея. Затем вы можете объединить их в sqlMapConfig с
<sqlMap resource="sqlMaps/XXX.xml" />
Это сделает ваши сопоставления более управляемыми. Просто убедитесь, что в каждом sqlMap указан атрибут namespace , например:
<sqlMap namespace="User">
Чтобы можно было повторно использовать сопоставления между sqlMaps для создания экземпляров графов объектов (например, при загрузке пользователя и его разрешений sqlMap User.xml вызывает сопоставление Permission.xml).