ibatis配置多个数据源

  1. 最近公司写系统的需要配多个ibatis的数据源,研究了研究总结了一下代码
  2. application-*.xml配置文件
  3. <!-- 定义数据源dataSource -->   
  4.     <bean id="dataSource"  
  5.         class="org.apache.commons.dbcp.BasicDataSource">   
  6.         <property name="driverClassName"  
  7.             value="ianywhere.ml.jdbcodbc.jdbc3.IDriver">   
  8.         </property>   
  9.         <property name="url"  
  10.             value="jdbc:odbc:driver=SQL Anywhere 11;eng=zyx;links=tcpip{host=10.144.99.46;port=2998};">   
  11.         </property>   
  12.         <property name="username" value="zyx"></property>   
  13.         <property name="password" value="zyx"></property>   
  14.         <property name="initialSize" value="1"></property>   
  15.         <property name="maxActive" value="500"></property>   
  16.         <property name="maxIdle" value="5"></property>   
  17.         <property name="minIdle" value="1"></property>   
  18.     </bean>   
  19.   
  20.     <!-- 定义数据源Oracle -->   
  21.     <bean id="dataSourceOracle"  class="org.apache.commons.dbcp.BasicDataSource">   
  22.         <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>   
  23.         <property name="url" value="jdbc:oracle:thin:@10.144.99.114:1521/sanexcfg"></property>   
  24.         <property name="username" value="sanex"></property>   
  25.         <property name="password" value="sanex"></property>   
  26.         <property name="initialSize" value="1"></property>   
  27.         <property name="maxActive" value="500"></property>   
  28.         <property name="maxIdle" value="5"></property>   
  29.         <property name="minIdle" value="1"></property>   
  30.     </bean>   
  31.   
  32.     <!-- 定义数据源sqlserver dataSource -->   
  33.     <bean id="dataSourceSqlServer"  
  34.         class="org.apache.commons.dbcp.BasicDataSource">   
  35.   
  36.         <property name="driverClassName"  
  37.             value="com.microsoft.jdbc.sqlserver.SQLServerDriver">   
  38.         </property>   
  39.         <property name="url"  
  40.             value="jdbc:microsoft:sqlserver://10.71.158.50:1433;DatabaseName=Mon;">   
  41.         </property>   
  42.         <property name="username" value="sa"></property>   
  43.         <property name="password" value="sa"></property>   
  44.   
  45.         <property name="initialSize" value="1"></property>   
  46.         <property name="maxActive" value="500"></property>   
  47.         <property name="maxIdle" value="5"></property>   
  48.         <property name="minIdle" value="1"></property>   
  49.     </bean>   
  50.     <!-- 配置 ibatis 的sqlMapClient -->   
  51.     <bean id="sqlMapClient"  
  52.         class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">   
  53.         <property name="configLocation"  
  54.             value="/WEB-INF/sqlMapConfig.xml" />   
  55.         <property name="dataSource" ref="dataSource" />          
  56.     </bean>   
  57.     <bean id="sqlMapClientOrac"  
  58.         class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">   
  59.         <property name="configLocation"  
  60.             value="/WEB-INF/sqlMapConfig.xml" />   
  61.         <property name="dataSource" ref="dataSourceOracle" />        
  62.     </bean>  


2.sqlMapConfig.xml文件里面什么都不设置,仅放自定义的查询xml文件 

3.代码中用的是spring的注释,Resource里面的name要对应applicationContext.xml里面bean的id,它就可以去找到对应的bean从而引用到你想要操作的数据源 
Java代码  
  1. @Resource(name = "sqlMapClient")   
  2.     private SqlMapClient sqlMapClient;   
  3.        
  4.     @Resource(name = "sqlMapClientOrac")   
  5.     private SqlMapClient sqlMapClientOrac;   
  6.   
  7.     public void executeSp(Map map) throws Exception{               
  8.         sqlMapClient.queryForList("userpercept.userAnalyse.addUsefulProcedure", map);   
  9.     }   
  10.   
  11.     public List<Cell> getCellList() throws Exception{   
  12.         return sqlMapClientOrac.queryForList("userpercept.userAnalyse.getCellList");   
  13.     }   
  14.        
  15.     public PlaceCell getCell(Long id) throws Exception {   
  16.         PlaceCell cell = (PlaceCell) sqlMapClient   
  17.             .queryForObject("userpercept.userAnalyse.selectCell",id);   
  18.         return cell;   
  19.     }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值