让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的比较JDBC与Hibernate的比较
◆数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。 JDBC与Hibernate读取性能 ...
jdbc和hibernate的区别jdbc和hibernate的区别jdbc和hibernate的区别jdbc和hibernate的区别jdbc和hibernate的区别jdbc和hibernate的区别jdbc和hibernate的区别jdbc和hibernate的区别jdbc和hibernate的区别jdbc和...
JDBC+Hibernate将Blob数据写入Oracle
Hibernate配置各种数据源 <hibernate-configuration> <!– 各属性的配置–> <!—为true表示将Hibernate发送给数据库的sql显示出来 –> ”show_sql”>true <!– SQL方言,这边设定的是MySQL –> ”dialect”>...
使用JDBC和Hibernate来写入Blob型数据到Oracle中;使用JDBC和Hibernate来写入Blob型数据到Oracle中
JDBC模拟hibernate,能过反射把数据重新装载进实体类
讲解了Hibernate中实现分页的方法,详细讲解了JDBC+SQL 2005如何实现假分页,并用struts2标签,在页面上显示。
初学java者 学习jdbc和hibernate内容
知识全面,内容突出,涵盖了所有包括jdbc、hibernate的技术范畴,想要更加深刻的理解jdbc、hibernate,就来下载吧
文中包含了JDBC 数据源的详细配置和说参数的说明。并且有图作为参考。
本案例主要是分别实现Spring与jdbc和hibernate结合的事务控制,如果该案例有出入的地方,请给我留言,我们一起交流
SpringBoot整合JDBC&Druid;数据源示例,整合看一下监控页面,拿来即用,省时省力,增加了自定义配置,注册自己的配置参数。
有关jdbc+hibernate存取blob字段的知识
本文档是写的Java相关的异常及其处理办法 包括:Java、Jdbc、Android、JavaScript、Servlet、Jsp、Hibernate、Struts2中一般出现的异常及其解决办法,注明适用于初学者。
tomcat配置jdbc数据源,虽然现在基本已经不用tomcat自带的数据源啦,需要的大家看看
JDBC和hibernate事务的详解,PPT格式,看一下吧
weblogic配置jdbc数据源weblogic配置jdbc数据源weblogic配置jdbc数据源