




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 下面我介绍一下在使用Hibernate3.0做数据执久层解决方案时,怎么配置Proxool0.8.3数据库连接池的方法。 2. 1、将proxool-0.8.3.jar以及连接数据库用到的jar文件包含在你的项目的classpath或者WEB-INF/lib下面,本例使用的是MSSqlserver数据库。 3. 2、在和hibernate.cfg.xml平级的目录新建一个proxoolconf.xml文件,添加以下文件内容: 4. 5. 6. 7. proxoolPool 8. 9. jdbc:microsoft:sqlserver:/:1433;DatabaseName=videopublish 10. com.microsoft.jdbc.sqlserver.SQLServerDriver 11. 12. 13. 14. 15. 16. 90000 17. 18. 20 19. 20. 5 21. 22. 100 23. 24. 10 25. 26. 27. 3、以上就是proxool所需的配置文件,下面就是hibernate.cfg.xml文件的配置了,也很简单,文件内容如下: 28. 29. 32. 33. 34. 35. proxoolPool 36. proxoolconf.xml 37. org.hibernate.connection.ProxoolConnectionProvider 38. com.microsoft.jdbc.sqlserver.SQLServerDriver 39. true 40. 41. 42. 43. 44. 45. 46. 4、以上就是配置hibernate+proxool作为数据库连接池的解决方案的代码,本例提供了一个简单的测试代码,如下: 47. % 48. longr=0; 49. for(inti=0;i 75. 5、说明一下,我分别用proxool、tomcatJNDI、Hibernate自带的连接池进行配置之后分别执行以上的10000条数据插入和读取,结果显示proxool的性能要优于tomcatJNDI,而Hibernate自带的就更不用提了,差很远。依次为:39265毫秒/10000条、26013毫秒/10000条、50029毫秒/10000条。 76. 6、在Hibernate配置连接池时还有一些解决方案,用的比较多的例如:c3p0,apachedhcp,但网上许多评论显示c3p0在大负荷的负载情况下,性能会降低许多,apachedhcp因为Hibernate作者在测试时发现了性能Bug,所以在Hibernate3.0版本中已经去掉了对其的支持,相比之下,proxool是大家都推荐使用的,许多业界成熟的公司(例如三星)都采用proxool做为方案。 77. 7、厚厚,最后,如果有交流struts,hibernate,spring,freemarker,velocity,以及prototype,scriptaculous等ajax框架的朋友,可以加我的msn:2006.10.31 Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点:一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用JNDI方式。二、默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG(笔者就曾在Mysql环境下被八小时连接悬空问题困扰过),因此官方也只是建议仅在开发环境下使用。三、Hibernate2和Hibernate3的命名空间有所变化。例如,配置C3P0时的provider_class有Hibernate2环境下使用net.sf.hibernate.connection.C3P0ConnectionProvider,在Hibernate3环境下使用org.hibernate.connection.C3P0ConnectionProvider。下面是Hibernate环境下几种常见的连接池配置:1Hibernate默认连接池com.mysql.jdbc.Driver jdbc:mysql:/localhost:3306/schoolprojecttrueUTF-8roottrueorg.hibernate.dialect.MySQLDialect 2C3P0连接配置com.mysql.jdbc.Driver jdbc:mysql:/localhost:3306/schoolprojecttrueUTF-8rootporg.hibernate.connection.C3P0ConnectionProvider2051201001202trueorg.hibernate.dialect.MySQLDialect 3proxool连接池(1) 先写proxool的配置文件,文件名:proxool.xml(一般放在与hibernate.cfg.xml文件在同一个目录中)本例配置的是MYSQL数据库,数据库的名字为schoolproject DBPooljdbc:mysql:/localhost:3306/schoolproject?useUnicode=true&characterEncoding=UTF8com.mysql.jdbc.Driver 90000 20 5 10010 (2)配置hibernate.cfg.xml文件org.hibernate.connection.ProxoolConnectionProviderDBPoolproxoolconf.xmltrueorg.hibernate.dialect.MySQLDialect (1) vider_class定义Hibernate的连接加载类,这里Proxool连接池是用这个,不同的连接池有不同的加载类,可以查阅Hibernate文档获取相关信息(2) xool.pool_alias这里就是用我们上面提到的连接池的别名(3) xool.xml是向Hibernate声明连接池的配置文件位置,可以用相对或绝对路径,用相对路径时要注意一定在要Path范围内!不然会抛出异常。(4) dialect是声明语句的方言(5) show_sql定义是否显示Hibernate生成的语言,一般在调试阶段设为true,完成后再改成false,这样有利于调试。(6) 资源文件映射4JNDI连接池,数据源已经由应用服务配置好(如Web服务器),Hibernate需要做的只是通过JNDI名查找到此数据源。应用服务器将连接池对外显示为JNDI绑定数据源,它是javax.jdbc.Datasource类的一个实例。只要配置一个Hibernate文件,如:hibernate.connection.datasource=java:/comp/env/jdbc/schoolproject /JNDI名hibernate.transaction.factory_class = org.hibernate.transaction.JTATrans
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电视媒体节目主持人聘用合同
- 2025年智能定制化汽车租赁服务及全面保险合同
- 水彩蘑菇课件
- 2025年度老旧物业置换合同含深度修缮责任及风险分担细则
- 2025年商用太阳能电站建设与运营维护合同
- 砖块行业年度会员费缴纳及行业资源共享合同
- 2025年新能源小客车指标租赁及车辆全权委托租赁服务合同
- 2025年医疗健康管理系统定制开发与患者数据保密协议
- 口岸基本知识培训心得
- 2025年绿色建筑GRC构件定制加工及安装工程承包合同
- 2025年四川大学生服务基层项目招募考试(医学基础知识)历年参考题库含答案详解(5套)
- 刑法基本原则课件
- 2025年会议接待考试题库
- 2025年贵州省中考英语试卷
- 政府职能边界界定-洞察及研究
- 新疆疫苗管理办法
- 2025年重庆出租车资格证区域考试题库区域考试
- 广州市越秀区招聘卫生健康系统事业单位事业编制人员考试真题2024
- 医疗废物监督管理课件
- 全国律师会费管理办法
- 危险源辨识、评价及控制培训
评论
0/150
提交评论