`
唯快不破
  • 浏览: 82843 次
  • 性别: 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
分享到:
评论

相关推荐

    JDBC与Hibernate的比较

    ### JDBC与Hibernate的比较 在软件开发领域,尤其是在基于Java的应用程序中,数据库访问技术的选择对项目的成功至关重要。本文将详细探讨两种常见的Java数据库访问方式:JDBC(Java Database Connectivity)与...

    JDBC与Hibernate区别

    而Hibernate则提供了持久化对象的概念,这些对象的属性值可以与数据库保持一致,简化了数据管理。 总结起来,JDBC和Hibernate各有优势,选择使用哪种取决于项目需求。对于性能敏感、需要高度控制的场景,JDBC可能是...

    springboot2.0多数据源集成hibernate配置hibernateDaoSupport示例

    本示例主要介绍如何实现Spring Boot 2.0多数据源的集成,并结合Hibernate进行配置,特别是在DAO层使用`HibernateDaoSupport`进行操作,而非使用JPA(Java Persistence API)。 首先,让我们了解Spring Boot 2.0的...

    jdbc和hibernate的区别

    3. **数据状态**:JDBC操作的数据是瞬时的,数据库与内存中的数据可能不一致,而Hibernate提供了一种对象-关系映射机制,使得数据具有持久性,能够保持数据库与对象的一致性。 **性能比较:** 1. **创建操作**:...

    JDBC+Hibernate将Blob数据写入Oracle

    以下是对“JDBC+Hibernate将Blob数据写入Oracle”这一主题的深入解析。 ### JDBC与Oracle BLOB的交互 #### 1. 理解Oracle BLOB特性 在Oracle中,BLOB用于存储大量的二进制数据,如图像文件。与传统的文本或数字...

    Hibernate配置各种数据源详解

    Hibernate配置各种数据源 &lt;hibernate-configuration&gt; &lt;!– 各属性的配置–&gt; &lt;!—为true表示将Hibernate发送给数据库的sql显示出来 –&gt; ”show_sql”&gt;true &lt;!– SQL方言,这边设定的是MySQL –&gt; ”dialect”&gt;...

    Weblogic JDBC 数据源配置和详细参数说明

    Weblogic JDBC 数据源配置和详细参数说明 一、JDBC 概述 JDBC(Java Database Connectivity)是 Java 语言中的一种标准数据库连接技术,几乎所有需要访问数据库的 J2EE 应用程序都直接或间接地使用了它。JDBC 提供...

    在JDBC,hibernate中实现分页

    ### 在JDBC与Hibernate中实现分页功能 随着数据量的不断增长,高效地管理和展示大量数据成为了一个挑战。为了优化用户体验并减轻服务器负担,分页技术被广泛应用于各种应用场景中。本文将深入探讨如何在Java开发...

    Jdbc 和hibernate

    4. **Hibernate与JDBC比较**: - Hibernate抽象了数据库层,使代码更简洁,降低了维护成本。 - Hibernate提高了开发效率,减少了SQL编写工作。 - Hibernate的查询优化可能不如直接手写的SQL,但在大部分场景下...

    JDBC模拟hibernate

    JDBC模拟hibernate,能过反射把数据重新装载进实体类

    Hibernate配置数据源.

    ### Hibernate配置数据源详解 #### 一、引言 在软件开发过程中,特别是涉及大量数据库交互的应用场景下,选择合适的数据源配置对于提高系统性能、稳定性具有重要意义。Hibernate作为Java领域内广泛使用的对象关系...

    Java开发案例-springboot-33-整合sharding-jdbc和多数据源-源代码+文档.rar

    Java开发案例-springboot-33-整合sharding-jdbc和多数据源-源代码+文档.rar Java开发案例-springboot-33-整合sharding-jdbc和多数据源-源代码+文档.rar Java开发案例-springboot-33-整合sharding-jdbc和多数据源-源...

    配置hibernate数据源

    配置Hibernate数据源是一项基础而重要的任务,涉及在Java应用程序中集成和使用Hibernate框架以及MySQL数据库。以下内容旨在详细介绍如何在MyEclipse开发环境中配置Hibernate数据源,同时解释相关概念和步骤。 首先...

    jdbc和hibernate学习内容

    1. **配置Hibernate**:包括配置hibernate.cfg.xml文件,定义数据源、SessionFactory等。 2. **实体类和映射文件**:创建Java类表示数据库表,并通过Hibernate的XML映射文件或注解描述这些类与表的关系。 3. **...

    hibernate数据源

    Hibernate 数据源是 Hibernate 框架中连接数据库的关键组件,它是 Hibernate 与底层数据库进行交互的桥梁。在 Hibernate 应用程序中,数据源扮演着存储数据库连接信息的角色,包括数据库URL、用户名、密码等,使得 ...

    hibernate 数据源配置文件

    ### Hibernate 数据源配置详解 #### 一、概述 在Java企业级应用开发中,数据库连接管理是一项基础且关键的工作。为了提高效率并确保资源的有效利用,通常会采用数据源(DataSource)来统一管理数据库连接。...

    jdbc与hibernate的优缺点比较(转载的精髓).pdf

    标题中的“jdbc与hibernate的优缺点比较”是一个关于两种主流Java数据库访问技术的讨论。JDBC(Java Database Connectivity)是Java中用于与数据库交互的一组接口和类,而Hibernate是一个对象关系映射(ORM)框架,...

    oracle分别使用jdbc和hibernate的例子

    JDBC(Java Database Connectivity)和Hibernate是两种常见的与Oracle交互的方式。本文将深入探讨如何使用JDBC和Hibernate来操作Oracle数据库,同时结合提供的标签"源码"和"工具",我们将讨论它们的实现细节和优势。...

    jdbc_Hibernate总结

    Hibernate是一个流行的ORM(Object-Relational Mapping)框架,它为开发者提供了对JDBC的轻量级封装,简化了数据库操作。使用Hibernate,开发者可以更专注于业务逻辑,而不是底层的SQL语法。在搭建Hibernate项目时,...

Global site tag (gtag.js) - Google Analytics