Каков наилучший подход, чтобы сделать код многоразовым как для db - mysql, так и для db2 - PullRequest
0 голосов
/ 15 декабря 2011

Наш код использует БД MySQL.

Теперь наше требование - перенести БД из Mysql в DB2. а также сделать java-код совместимым как для db2, так и для mysql.

мы используем SPring MVC и mybatis, JPA для работы с БД.

Будь добр, предложи мне лучший шаблон дизайна.

Как сделать мой код mybatis совместимым с mysql и db2?

Спасибо

1 Ответ

0 голосов
/ 15 декабря 2011

Я хотел бы предложить, чтобы у вас был отдельный слой данных.

Пусть этот слой данных объявит открытый интерфейс и типы данных, которые использует ваша бизнес-логика.

После этого вы сможете получить фактические данныеЭкземпляр слоя, созданный с использованием фабричного шаблона, который создает конкретный класс для подключения к MySQL или DB2.Делая это таким образом, вы можете изменить базу данных без необходимости изменения бизнес-кода (поскольку все это относится к типу интерфейса).Вы даже можете настроить его на выполнение этого действия во время выполнения, скажем, на основании настроек конфигурации.

например,

IDataLayer - ваш базовый класс с методами для получения / настройки данных (обработка базы данных с мелкими проблемами)скрыт внутри).

Затем есть дочерние классы MySQLDataLayer и DB2DataLayer.

Бизнес-логика относится только к классам IDataLayer и никогда не содержит классов MySQLDataLayer / DB2DataLayer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...