`
唯快不破
  • 浏览: 83358 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

JDBC与Hibernate共用同一数据源

阅读更多
让jdbc与Hibernate共用同一个proxool数据库连接池,以便用jdbc查询Hibernate增删改。试了三种方法。只有在tomcat6设置jndi的方法较令人满意。
第一种是:
<bean   id="TestSource"   class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
          <property   name="driverClassName">  
              <value>org.logicalcobwebs.proxool.ProxoolDriver</value>  
          </property>  
          <property   name="url">  
              <value>proxool.MyPool</value>   <!--proxool是proxool.xml的文件名,MyPool是proxool.xml中配置的别名-->
          </property>  
   </bean>  
<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
……
 

结果是Hibernate无法获取dataSource。Hibernate无法运行

第二种是:
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
		 <property name="driver">    
             <value>oracle.jdbc.driver.OracleDriver</value>    
         </property>    
         <property name="driverUrl">    
             <value>jdbc:oracle:thin:@localhost:1521:orcl</value>    
         </property>   
         <property name="user">  
             <value>xxx</value>  
         </property>  
         <property name="password">  
             <value>xxx</value>  
         </property>
         <property name="alias">
   			<value>JDBCProxool</value>
  		 </property>
         <property name="prototypeCount">
           <value>3</value>
         </property>
         <property name="maximumConnectionCount">    
             <value>30</value>    
         </property>    
         <property name="minimumConnectionCount">    
             <value>15</value>    
         </property>
         <property name="houseKeepingSleepTime">
         	<value>90000</value>
         </property>
         <property name="maximumActiveTime">
         	<value>180000</value>
         </property>
	</bean>

结果是服务器启动时报错,提示不能将属性houseKeepingSleepTime的值从string转为long。去掉houseKeepingSleepTime后运行正常,但不能配置houseKeepingSleepTime总觉得有点瑕疵。

第三种:

    数据库驱动包
    proxool-0.9.1.jar
    proxool-cglib.jar
    commons-logging-1.0.4.jar
复制到<tomcat_home>/lib目录下
在tomcat\conf\context.xml 中配置
<Context> 
<Resource name="jdbc/OraclePool"  
      auth="Container"      
      type="javax.sql.DataSource"  
      factory="org.logicalcobwebs.proxool.ProxoolDataSource"      
      proxool.alias="DBPool"      
      user="xxx"    
      password="xxx"      
      delegateProperties="foo=true"  
      proxool.jndi-name="oraclejndi"     
      proxool.driver-url="jdbc:oracle:thin:@localhost:1521:orcl"      
      proxool.driver-class="oracle.jdbc.driver.OracleDriver"    
      proxool.house-keeping-sleep-time="90000"
      proxool.prototype-count="3"  
      proxool.maximum-connection-count="30"   
      proxool.minimum-connection-count="15" 
	  />
</Context> 

Spring配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
	 <property name="jndiName">  
	 <value>java:comp/env/jdbc/OraclePool</value>  
	 </property>  
	 </bean>

结果是运行正常,这样就可以把dataSource注入jdbctemplate,sessionFactory注入Hibernatetemplate了。
1
0
分享到:
评论

相关推荐

    整合struts2.1和hibernate3.2的JAR包

    7. **配置数据源**:在Web应用的web.xml文件中配置数据源,以便Struts2和Hibernate共用。例如: ```xml &lt;description&gt;DB Connection &lt;res-ref-name&gt;jdbc/TestDB &lt;res-type&gt;javax.sql.DataSource &lt;res-auth&gt;...

    Spring MVC配置双数据源实现一个java项目同时连接两个数据库的方法

    3. 创建JdbcTemplate(或MyBatis的SqlSessionFactory)实例,与数据源关联。 4. 在Java代码中通过`@Autowired`和`@Qualifier`注解选择使用哪个数据源。 5. 配置基于注解的事务管理,确保事务与正确的数据源关联。 ...

    一套Spring+Hibernate的多个数据库切换的源码

    1. **配置多个数据源**:在Spring的配置文件中,为每个数据库创建一个DataSource bean,例如`dataSource1`和`dataSource2`,并配置相应的JDBC连接信息。 2. **数据源路由**:引入Spring的AbstractRoutingDataSource...

    TongWeb6.0用户使用手册.pdf

    - **TongWeb6.0中的JDBC数据源概述**:详细说明了TongWeb6.0中提供的JDBC数据源的特点和优势。 #### 5.2 JDBC数据源的使用 - **创建数据源连接池**:指导如何在TongWeb6.0中创建一个新的JDBC连接池。 - **查看/编辑...

    Maven整合S2SH.docx

    Spring模块需要包含Spring的核心和数据访问/集成部分的依赖,例如`spring-context`和`spring-jdbc`。Hibernate模块则需要`hibernate-core`和相关的JPA依赖。 在XML配置阶段,我们需要分别在Struts2、Spring和...

    ibatis2讲义

    配置文件是SQLMap框架的重要组成部分,用于统一配置各种设置,包括数据源、连接信息、映射关系等。配置文件通常使用XML格式,可以包含以下几个主要元素: - **`environments`**:定义环境配置,如数据源类型和事务...

Global site tag (gtag.js) - Google Analytics