让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了。
分享到:
相关推荐
### JDBC与Hibernate的比较 在软件开发领域,尤其是在基于Java的应用程序中,数据库访问技术的选择对项目的成功至关重要。本文将详细探讨两种常见的Java数据库访问方式:JDBC(Java Database Connectivity)与...
而Hibernate则提供了持久化对象的概念,这些对象的属性值可以与数据库保持一致,简化了数据管理。 总结起来,JDBC和Hibernate各有优势,选择使用哪种取决于项目需求。对于性能敏感、需要高度控制的场景,JDBC可能是...
本示例主要介绍如何实现Spring Boot 2.0多数据源的集成,并结合Hibernate进行配置,特别是在DAO层使用`HibernateDaoSupport`进行操作,而非使用JPA(Java Persistence API)。 首先,让我们了解Spring Boot 2.0的...
3. **数据状态**:JDBC操作的数据是瞬时的,数据库与内存中的数据可能不一致,而Hibernate提供了一种对象-关系映射机制,使得数据具有持久性,能够保持数据库与对象的一致性。 **性能比较:** 1. **创建操作**:...
以下是对“JDBC+Hibernate将Blob数据写入Oracle”这一主题的深入解析。 ### JDBC与Oracle BLOB的交互 #### 1. 理解Oracle BLOB特性 在Oracle中,BLOB用于存储大量的二进制数据,如图像文件。与传统的文本或数字...
Hibernate配置各种数据源 <hibernate-configuration> <!– 各属性的配置–> <!—为true表示将Hibernate发送给数据库的sql显示出来 –> ”show_sql”>true <!– SQL方言,这边设定的是MySQL –> ”dialect”>...
Weblogic JDBC 数据源配置和详细参数说明 一、JDBC 概述 JDBC(Java Database Connectivity)是 Java 语言中的一种标准数据库连接技术,几乎所有需要访问数据库的 J2EE 应用程序都直接或间接地使用了它。JDBC 提供...
### 在JDBC与Hibernate中实现分页功能 随着数据量的不断增长,高效地管理和展示大量数据成为了一个挑战。为了优化用户体验并减轻服务器负担,分页技术被广泛应用于各种应用场景中。本文将深入探讨如何在Java开发...
4. **Hibernate与JDBC比较**: - Hibernate抽象了数据库层,使代码更简洁,降低了维护成本。 - Hibernate提高了开发效率,减少了SQL编写工作。 - Hibernate的查询优化可能不如直接手写的SQL,但在大部分场景下...
JDBC模拟hibernate,能过反射把数据重新装载进实体类
### Hibernate配置数据源详解 #### 一、引言 在软件开发过程中,特别是涉及大量数据库交互的应用场景下,选择合适的数据源配置对于提高系统性能、稳定性具有重要意义。Hibernate作为Java领域内广泛使用的对象关系...
Java开发案例-springboot-33-整合sharding-jdbc和多数据源-源代码+文档.rar Java开发案例-springboot-33-整合sharding-jdbc和多数据源-源代码+文档.rar Java开发案例-springboot-33-整合sharding-jdbc和多数据源-源...
配置Hibernate数据源是一项基础而重要的任务,涉及在Java应用程序中集成和使用Hibernate框架以及MySQL数据库。以下内容旨在详细介绍如何在MyEclipse开发环境中配置Hibernate数据源,同时解释相关概念和步骤。 首先...
1. **配置Hibernate**:包括配置hibernate.cfg.xml文件,定义数据源、SessionFactory等。 2. **实体类和映射文件**:创建Java类表示数据库表,并通过Hibernate的XML映射文件或注解描述这些类与表的关系。 3. **...
Hibernate 数据源是 Hibernate 框架中连接数据库的关键组件,它是 Hibernate 与底层数据库进行交互的桥梁。在 Hibernate 应用程序中,数据源扮演着存储数据库连接信息的角色,包括数据库URL、用户名、密码等,使得 ...
### Hibernate 数据源配置详解 #### 一、概述 在Java企业级应用开发中,数据库连接管理是一项基础且关键的工作。为了提高效率并确保资源的有效利用,通常会采用数据源(DataSource)来统一管理数据库连接。...
标题中的“jdbc与hibernate的优缺点比较”是一个关于两种主流Java数据库访问技术的讨论。JDBC(Java Database Connectivity)是Java中用于与数据库交互的一组接口和类,而Hibernate是一个对象关系映射(ORM)框架,...
JDBC(Java Database Connectivity)和Hibernate是两种常见的与Oracle交互的方式。本文将深入探讨如何使用JDBC和Hibernate来操作Oracle数据库,同时结合提供的标签"源码"和"工具",我们将讨论它们的实现细节和优势。...
Hibernate是一个流行的ORM(Object-Relational Mapping)框架,它为开发者提供了对JDBC的轻量级封装,简化了数据库操作。使用Hibernate,开发者可以更专注于业务逻辑,而不是底层的SQL语法。在搭建Hibernate项目时,...