Java SSM 项目中配置多个数据库切换使用

第一步:首先在jdbc.properties 配置文件中添加两个数据库链接

jdbc_driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc_url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=RIS 
jdbc_username=sa
jdbc_password=123
jdbc_classPage=org.apache.commons.dbcp.BasicDataSource


 
jdbc_driver2=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc_url2=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=UIS 
jdbc_username2=sa
jdbc_password2=123
jdbc_classPage2=org.apache.commons.dbcp.BasicDataSource

第二步:去spring-mybatis.xml中作相关修改

  
         
    	
    	
    	
    
	
	 
         
    	
    	
    	
    
	
	
	
  
      
          
              
              
          
      
      
  
	
    
    
        
       
         
       	
		
		
    

第三步:创建类指定配置使用哪个数据库

public class DBContextHolder {
    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();
    }
}

第四步:自定义动态数据源说明

public class DynamicDataSource extends AbstractRoutingDataSource {
    @Override
    protected Object determineCurrentLookupKey() {
        return DBContextHolder.getDbType();
    }
}

第五步:在serviceImpl处进行使用哪个数据的设置

public List FindExaminePatient(String beginDate,
			String endDate) { 
		if(PropertiesUtil.DataSource.contains("RIS"))
		{
			 DBContextHolder.setDbType("RIS"); 
		}else 
		{
			DBContextHolder.setDbType("UIS"); 
		}
		return examinePatientDao.FindExaminePatient(beginDate, endDate);
	}

 

你可能感兴趣的:(Java)