关于spring+hibernate配置多个数据源的问题

这篇博客介绍了如何在Spring和Hibernate框架下配置多个数据源,包括MySQL和Oracle数据库。通过创建不同的sessionFactory和HibernateTemplate,实现了针对不同数据源的DAO操作。在实际应用中,注意DAO层调用对应的hibernateTemplate是关键。
摘要由CSDN通过智能技术生成

 由于项目需要在多个数据库中进行开发 所以今天在网上找找了多个数据源同时并存的开发模式

其实也很简单  只不过是多增加了一个数据源而已

更改他的sessionFactory,hibernateTemplate,以及dataSource即可

在引用时注意dao调用的hibernateTemplate即可

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans
  3.     xmlns="http://www.springframework.org/schema/beans"
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  6.     <bean id="dataSource"
  7.         class="org.apache.commons.dbcp.BasicDataSource">
  8.         <property name="driverClassName"
  9.             value="com.mysql.jdbc.Driver">
  10.         </property>
  11.         <property name="url" value="jdbc:mysql://localhost:3306/jxt"></property>
  12.         <property name="username" value="1111"></property>
  13.         <property name="password" value="2222"></property>
  14.     </bean>
  15.     <bean id="sessionFactory"
  16.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  17.         <property name="dataSource">
  18.             <ref bean="dataSource" />
  19.         </property>
  20.         <property name="hibernateProperties">
  21.             <props>
  22.                 <prop key="hibernate.dialect">
  23.                     org.hibernate.dialect.MySQLDialect
  24.                 </prop>
  25.             </props>
  26.         </property>
  27.         <property name="mappingResources">
  28.             <list>
  29.             
  30.                 <value>com/vo/User.hbm.xml</value>
  31.                 </list>
  32.         </property></bean>
  33.         
  34.              <bean id="hibernateTemplate"
  35.         class="org.springframework.orm.hibernate3.HibernateTemplate"
  36.         abstract="false" lazy-init="default" autowire="default"
  37.         dependency-check="default">
  38.         <property name="sessionFactory">
  39.             <ref bean="sessionFactory" />
  40.         </property>
  41.     </bean>
  42.     <bean id="oraDataSource"
  43.     class="org.apache.commons.dbcp.BasicDataSource">
  44.         <property name="driverClassName"
  45.             value="oracle.jdbc.driver.OracleDriver">
  46.         </property>
  47.         <property name="url"
  48.             value="jdbc:oracle:thin:@192.168.0.215:1521:orcl">
  49.         </property>
  50.         <property name="username" value="1111"></property>
  51.         <property name="password" value="2222"></property>
  52.     </bean>
  53.     <bean id="oraSessionFactory"
  54.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  55.         <property name="dataSource">
  56.             <ref bean="oraDataSource" />
  57.         </property>
  58.         <property name="hibernateProperties">
  59.             <props>
  60.                 <prop key="hibernate.dialect">
  61.                         org.hibernate.dialect.Oracle9Dialect
  62.                 </prop>
  63.             </props>
  64.         </property>
  65.         <property name="mappingResources">
  66.             <list>
  67.             <value>com/vo/Test.hbm.xml</value>
  68.                 </list>
  69.         </property></bean>
  70.         <bean id="oraHibernateTemplate"
  71.         class="org.springframework.orm.hibernate3.HibernateTemplate"
  72.         abstract="false" lazy-init="default" autowire="default"
  73.         dependency-check="default">
  74.         <property name="sessionFactory">
  75.             <ref bean="oraSessionFactory" />
  76.         </property>
  77.         </bean>
  78.     <bean id="userDao" class="com.dao.IUserDao" abstract="true"></bean>
  79.     <bean id="userDaoImpl" class="com.dao.impl.UserDAO" parent="userDao" abstract="false"
  80.         lazy-init="default" autowire="default" dependency-check="default">
  81.         <property name="hibernateTemplate">
  82.             <ref bean="hibernateTemplate" />
  83.         </property>
  84.     </bean>
  85.     
  86.     <bean id="userService" class="com.service.IUserService" abstract="true"></bean>
  87.     
  88.     <bean id="userServiceImpl" class="com.service.impl.UserServiceImpl" parent="userService" abstract="false"
  89.         lazy-init="default" autowire="default" dependency-check="default">
  90.         <property name="userDao">
  91.             <ref bean="userDaoImpl" />
  92.         </property>
  93.     </bean>
  94.     <bean name="/user" class="com.ncjk.struts.action.UserAction" abstract="false" lazy-init="default"
  95.         autowire="default" dependency-check="default">
  96.         <property name="userService">
  97.             <ref bean="userServiceImpl" />
  98.         </property>
  99.     </bean> 
  100.     
  101.     
  102.     <bean id="testDao" class="com.dao.ITestDao" abstract="true"></bean>
  103.     <bean id="testDaoImpl" class="com.dao.impl.TestDAO" parent="testDao" abstract="false"
  104.         lazy-init="default" autowire="default" dependency-check="default">
  105.             <property name="hibernateTemplate">
  106.             <ref bean="oraHibernateTemplate" />
  107.         </property>
  108.     </bean>
  109.     <bean id="testService" class="com.service.ITestService" abstract="true"></bean>
  110.     
  111.     <bean id="testServiceImpl" class="com.service.impl.TestServiceImpl" parent="testService" abstract="false"
  112.         lazy-init="default" autowire="default" dependency-check="default">
  113.         <property name="testDao">
  114.             <ref bean="testDaoImpl" />
  115.         </property>
  116.     </bean> 
  117.     <bean name="/test" class="com.ncjk.struts.action.TestAction" abstract="false" lazy-init="default"
  118.         autowire="default" dependency-check="default">
  119.         <property name="testService">
  120.             <ref bean="testServiceImpl" />
  121.         </property>
  122.     </bean>
  123. </beans>

以上就是连接oracle和mysql的实例  测试成功 还有就是要注意一些低级错误 NND  今天一个dao没实现报了一大堆莫名其妙的错误  呵呵  如果有问题回帖吧

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值