网站建设资讯

NEWS

网站建设资讯

使用SpringMVC如何实现将java项目连接两个数据库

使用Spring MVC如何实现将java项目连接两个数据库?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联服务项目包括海沧网站建设、海沧网站制作、海沧网页制作以及海沧网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,海沧网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到海沧省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

实现方法:

数据源在配置文件中的配置

<?xml version="1.0" encoding="UTF-8"?> 
 
 
  
 
  
 
  
   
    
    classpath:com/resource/config.properties 
    
   
  
 
  
   
   
   
   
   
   
   
  
 
  
   
   
   
   
   
   
   
  
 
  
   
    
     
     
    
   
   
   
  
 
  
   
   
    
    org.hibernate.dialect.MySQLDialect 
    org.springframework.orm.hibernate4.SpringSessionContext 
    false 
    true 
    create 
    
   
   
    
    com.po 
    
   
  
 
  
   
  
 
  
   
   
  
 
  
   
    
    
    
    
    
   
  
 
  
   
    
    
    
    
   
  
 

DynamicDataSource.class

package com.core; 
 
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; 
 
public class DynamicDataSource extends AbstractRoutingDataSource{ 
 
 @Override 
 protected Object determineCurrentLookupKey() { 
  return DatabaseContextHolder.getCustomerType(); 
 } 
 
} 

DatabaseContextHolder.class设置数据源的类

package com.core; 
 
public class DatabaseContextHolder { 
 
 private static final ThreadLocal contextHolder = new ThreadLocal(); 
 //设置要使用的数据源 
 public static void setCustomerType(String customerType) { 
  contextHolder.set(customerType); 
 } 
 //获取数据源 
 public static String getCustomerType() { 
  return contextHolder.get(); 
 } 
 //清除数据源,使用默认的数据源 
 public static void clearCustomerType() { 
  contextHolder.remove(); 
 } 
} 

DataSourceInterceptor.class

package com.core; 
 
import org.aspectj.lang.JoinPoint; 
import org.springframework.stereotype.Component; 
 
@Component 
public class DataSourceInterceptor { 
 //数据源1 
 public static final String SOURCE_PLAN = "dataSourceOne"; 
 //数据源2 
 public static final String SOURCE_FUND = "dataSourceTwo"; 
}

springMVC数据源

jdbc_driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver 
dataSourceOne=jdbc:sqlserver://115.29.***.**;DatabaseName=DB_GuiHua 

jdbc_username=**jdbc_password=**

dataSourceTwo=jdbc:sqlserver://115.29.***.*;DatabaseName=DB_Fund 

Spring MVC会默认有一个数据源,当需要更换数据源时,要在调用事务之前配置

DataSourceContextHolder.setDbType(DataSourceType.SOURCE_FUND);//更换数据源 
/** 
 * @ClassName: DataSourceContextHolder 
 * @Description: 数据库切换工具类 
 * @author: wzx 
 * @date: 2016-07-27 上午10:26:01 
 */ 
public class DataSourceContextHolder { 
 private static final ThreadLocal contextHolder = new ThreadLocal(); 
 
 public static void setDbType(String dbType) { 
  contextHolder.set(dbType); 
 } 
 
 public static String getDbType() { 
  return ((String) contextHolder.get()); 
 } 
 
 public static void clearDbType() { 
  contextHolder.remove(); 
 } 
} 

关于使用Spring MVC如何实现将java项目连接两个数据库问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


分享标题:使用SpringMVC如何实现将java项目连接两个数据库
URL链接:http://njwzjz.com/article/pjhpco.html