El proyecto debe obtener datos de otros sitios web porque es un requisito temporal. No esperaba que se necesitaran múltiples fuentes de datos al comenzar el proyecto.
Entonces, Baidu descubrió que solo necesita cambiar el archivo ApplicationContext.xml de Spring y escribir tres clases de herramientas para implementarlo perfectamente.
ApplicationContext.xml
< /> < /bean> <bean id = "ds2"> <Property name = "DriverClassName" value = "" /> <Property name = "url" value = "" /> <propiedad name = "username" value = "" /> <Property name = "contraseña" value = "" /> < /bean> <!-Configuración dinámica de la fuente de datos-> <bean id = "datASource"> // esto es el valor del camino del camino del camino del ruta del ruta de la configuración dinámica-<bean id = "datASource" DynamicDataSource.java en su proyecto <propiedad name = "TargetDataSources"> <map key-type = "java.lang.string"> <Entry value-ref = "ds_admin" key = "ds1"> </entry> <entry-rref = "ds_partner" key = "ds2"> </entry> </maps> </map propiedad </propiedad de dats1! Por defecto-> <Property name = "DefaultTargetDataSource" ref = "ds_admin"> </property> </bean>
DataSourCeTextholder.java
public class dataSourCeTeTexTholder {private static final ThreadLocal <String> cotexTholder = new ThreadLocal <String> (); public static void setdbtype (string dbtype) {cotextholder.set (dbtype); } public static string getDbType () {return (((String) CoTExTholder.get ()); } public static void clearDBType () {contextholder.remove (); }} DataSourCetype.java (establecer variables estáticas)
public class dataSourCeType {// Base de datos predeterminada Public static final String Source_admin = "DS1"; // La segunda base de datos, ID en ApplicationContext.xml Public Static Final String Source_Partner = "DS2";}El siguiente es la clave DynamicDataSource.java, hereda el método abstracto determinado para la perspectiva de la perspectiva, en AbstrutingDataSource, que es el núcleo de implementar la ruta de la fuente de datos. Este método está anulada.
importar org.springframework.jdbc.dataSource.lookup.AbStracTroutingDataSource; public class DynamicDataSource extiende abstrutingdataSource {@Override Object DetermineCurrentOrlookUpkey () {return dataSourCeContextholdol.getdbtype (); }}Lo anterior es un análisis de los ejemplos de uso de la fuente de múltiples datos mybatis Spring MVC introducida por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!