SpringMVC+Mybatis配置多数据源

业务场景:

在实际项目开发中,有时候数据会存放在多个数据库中即存在不同的数据源。那么在SSM框架中,如何配置多个数据库呢?

准备:

两个Oracle数据源

DataSource1:172.83.242.145:1521/orcl 用户名:ZSYW_JR 密码:******

DataSource2:172.83.30.209:1521/orcl 用户名:ydpt  密码:*******

实现思路:

第一步:配置数据源DataSource

 
	
        
       
        
        
    
    
    
        
       
        
        
    

第二步:配置sqlSessionFactory

 
    
        
        
        
        
        
        
  			
   				classpath:com/inspur/SSO/Mapper/*.xml
   				classpath:com/inspur/test/dao/*.xml
   				classpath:com/inspur/NSRZCXXGR/mapping/*.xml
 		    
	    
    
    
     
        
        
        
        
        
        
  			
   				classpath:com/inspur/test1/dao/*.xml
 		    
	    
    

第三步:配置扫描mybatis的xml文件其中设置不同的sqlSessionFactory

 
    
        
        
    
    
    
    
        
        
    

完整applicationContext.xml的配置



    
    
	
        
       
        
        
    
    
    
        
       
        
        
    
    
    
    
        
        
        
        
        
        
  			
   				classpath:com/inspur/SSO/Mapper/*.xml
   				classpath:com/inspur/test/dao/*.xml
   				classpath:com/inspur/NSRZCXXGR/mapping/*.xml
 		    
	    
    
    
     
        
        
        
        
        
        
  			
   				classpath:com/inspur/test1/dao/*.xml
 		    
	    
    
    
    
    
    
        
        
    
    
     
        
        
    
    
    
        
        
    
    
    
    
        
        
    

    
    
        
        
        
    
    
    

测试testController:

package com.inspur.test.controller;

import com.alibaba.fastjson.JSON;
import com.inspur.SSO.entity.token;
import com.inspur.SSO.service.tokenService;
import com.inspur.test.entity.test;
import com.inspur.test.service.test1Service;
import com.inspur.test.service.testService;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by 13926 on 2017/7/18.
 */
@Controller
@RequestMapping(value = "/test")
public class testController {
    @Resource(name = "test1Service")
    test1Service t1Service;
    
    @Resource(name = "testService")
    testService tService;

    @RequestMapping(value="/add", method=RequestMethod.POST)
    @ResponseBody
	public  JSON queryTokenYX(String id,String name) {
    	
    	test tt = new test();
    	
    	tt.setId(id);
    	
    	tt.setName(name);
		
		t1Service.insert(tt);//数据库1添加测试数据
		
		tService.insert(tt);//数据库2添加测试数据
		
		
		Map result = new HashMap();  
		
		result.put("flag", "1");
		result.put("success", "盗墓笔记");
		result.put("shxxdm", "23435345345465");
		result.put("SSJT", "我的老家是什么国");
		
		System.out.println("返回的JSON串"+ JSON.toJSON(result));
		
		JSON jsonString = (JSON) JSON.toJSON(result);  
		
		return jsonString;
		
	}
    
}

调用Http接口:

SpringMVC+Mybatis配置多数据源_第1张图片

 

数据库数据:

数据源1:

SpringMVC+Mybatis配置多数据源_第2张图片

数据库2

SpringMVC+Mybatis配置多数据源_第3张图片

你可能感兴趣的:(Spring,MVC框架,Mybatis,多数据源)