Использование MySQL 3.x и 5.x одновременно из Java - PullRequest
0 голосов
/ 01 ноября 2011

Как я могу использовать MySQL 3.x и MySQL 5.x одновременно из моего приложения Java, если для двух версий требуются разные версии драйверов JDBC, но имя класса драйвера совпадает?

Для MySQL 3.x Я скачал MySQL Connector / J 3.0.17, а для MySQL 5.x у меня есть MySQL Connector / J 5.1.12.Как я могу использовать их обоих?

1 Ответ

2 голосов
/ 01 ноября 2011

Сначала проверьте, можно ли (как упомянуто в @DaveHowes +1) использовать драйвер JDBC для v5 с DB v3. Это, вероятно, работает. В этом случае у вас нет проблем.

Если это не работает, вы должны использовать отдельные загрузчики классов для 2 коннекторов для 2 разных БД. Таким образом, ни v5, ни v3 драйвер JDBC не будут находиться в «обычном» classpath вашего приложения. Вместо этого вы должны создать какую-то оболочку, которая будет создавать собственный экземпляр UrlClassLoader: и запускать драйвер. Упомянутый сборщик должен предоставлять API, который позволяет выполнять запрос JDBC. Я надеюсь, что это сработает. Все это, если вы используете чистый JDBC. Если вы используете какие-то инструменты (например, Hibernate, iBatis и т. Д.), Я желаю вам удачи :) и предлагаю задать более конкретный вопрос, в котором упоминается инструмент, который вы используете.

...