Проект должен получить данные с других веб -сайтов, потому что это временное требование. Я не ожидал, что при запуске проекта необходимы несколько источников данных.
Таким образом, Baidu обнаружил, что ему нужно только изменить файл Spring ApplicationContext.xml и написать три класса инструмента, чтобы идеально его реализовать.
ApplicationContext.xml
<!-Конфигурация многоданного источника-> <bean id = "ds1"> <name = "driverclassname" value = "$ {jdbc.driverclassname}" /> <name = "url" value = "$ {jdbc.Url}" /> name = "unseMame" value = "$ {jdbc.Url}" /> <propatory = "username" value = "$ {jdbc.Urm. value = "" /> < /bean> <bean id = "ds2"> <name = "driverclassname" value = "" /> <name = "url" value = "" /> <name = "username" value = "" /> <name = "password" value = " /> < /> < /bean> <!-Dynamic Configuration of Data Source-> <bean ID =" /> < /> < /> < /bean> <!-Dynamic Configuration of Data ID-> <Bean ID = " /> < /> < /> < /bean> <!-Dynamic Configuration of Data-> <Bean ID =" /> < /> < /> < /bean> <! DynamicDataSource.java В вашем проекте <name = "targetDataSources"> <map key-type = "java.lang.string"> <inpit value-ref = "ds_admin" key = "ds1"> </intpirt> <viture-ref = "ds_partner" key = "ds2"> </inpret> </map ref = "ds_partner" ds2 "> </inpret> </map> </map> </map> </map> </map> </map> </map> </map> </map> </map> </map> </rest> </rest ref =" ds_partner "? По умолчанию-> <name = "defaultTargetDataSource" ref = "ds_admin"> </property> </bean>DataSourceContextholder.java
открытый класс dataSourceContexTholder {private Static Final Threadlocal <string> contextholder = new Threadlocal <string> (); public static void setDbtype (String dbtype) {contextholder.set (dbtype); } public Static String getDbtype () {return (((String) contextholder.get ()); } public static void cleardBtype () {contextholder.remove (); }} DataSourcetype.java (установить статические переменные)
открытый класс dataSourcetype {// база данных по умолчанию public static final String source_admin = "ds1"; // Вторая база данных, ID в ApplicationContext.xml Public Static Final String Source_partner = "ds2";}Далее следует ключевой DynamicDatasource.java. Это унаследовает абстрактный метод DelectionDicenCurrentLookupkey в AbstractroutingDataSource, который является основой реализации маршрута источника данных. Этот метод переопределяется.
Import org.springframework.jdbc.datasource.lookup.abstractroutingDatasource; открытый класс DynamicDatasource Extress AbstractroutingDatasource {@Override Protected ObjectEcurrentLookKeke () {return DataSourcontexTholder.getDbtype (); }}Выше приведено анализ примеров использования многоданного источника Mvc MVC MVC Mybatis, представленного редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!