Hibernate + Proxool配置
用Hibernate自带的连接池性能不高,而且还存在BUG。因此官方推荐使用c3p0或Proxool连接池。
这里我介绍Hibernate使用Proxool连接池的配置:
首先配置Proxool的配置文件,文件名:Proxool.xml(当然,你也可以用资源文件)
<?xml version="1.0" encoding="UTF-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>jdbc:mysql://localhost:3306/WebShop</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="ycoe"/>
<property name="password" value="123456"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
这里有几点要说明的
<alias>是连接池的别名,在JDBC中可以用DriverManager.getConnection("Proxool.DBPool");取得一个连接(但你得先在程序运行时先加载它)。
<driver-url>是数据库地址,不用说也明白了。后面也可以带一段参数useUnicode=true&characterEncoding=GB2312这是设定连接的参数,这里是定义了连接使用的编码为GB2312,这是为了解决数据库存取中的乱码问题(如果数据库没有提供编码设定的话,比如MySQL5.0以前版本)
<driver-class>这是JDBC使用的数据库驱动类,对于不同的数据库,有不同的驱动类支持,一般官方会提供
<driver-properties>里面的都很简单啦,不说了。
还有就是<maxmum-connection-count>是设置连接池内生成的最大连接数
Proxool配置完成,把它放在WEB-INF\classes下面(放在哪都没关系,只要让路径Path包含着就行)!
下面是Hibernate的配置:这里我们还是用XML文件,因为它配置映射有独特的昧力
hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd
">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<property name="hibernate.proxool.pool_alias">DBPool</property>
<property name="hibernate.proxool.xml">Proxool.xml</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">false</property>
<!-- Drop and re-create the database schema on startup
<property name="hbm2ddl.auto">create</property>
-->
<mapping resource="Orders.hbm.xml"/>
<mapping resource="Users.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Hibernate3版本的配置都使用<property>
首先hibernate.connection.provider_class定义Hibernate的连接加载类,这里Proxool连接池是用这个,不同的连接池有不同的加载类,可以查阅Hibernate文档获取相关信息
hibernate.proxool.pool_alias这里就是用我们上面提到的连接池的别名
hibernate.proxool.xml是向Hibernate声明连接池的配置文件位置,可以用相对或绝对路径,用相对路径时要注意一定在要Path范围内!不然会抛出异常。
dialect是声明SQL语句的方言
show_sql定义是否显示Hibernate生成的SQL语言,一般在调试阶段设为true,完成后再改成false,这样有利于调试。
hbm2ddl.auto是声明是否使用hbm2 ddl工具,也就是根据映射文件生成SQL的DDL文件。
<mapping >这个可是个好东西了,方便的用于映射。如果用资源文件的话就没有这个功能了.呵呵.resource是定义映射文件的位置,和Proxool.xml一样。
不同的连接池用不同的配置,下面提供c3p0连接池在Hibernate中的配置:
c3p0配置
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
分享到:
相关推荐
hibernate-distribution-3.3.2 + hibernate-annotations-3.4.0 + slf4j-1.5.8 (共三卷) part2
Spirng+Hibernate-AIPSpirng+Hibernate-AIPSpirng+Hibernate-AIPSpirng+Hibernate-AIPSpirng+Hibernate-AIPSpirng+Hibernate-AIP
Struts 2.3.25 + spring-4.2.2 + hibernate-5.0.2 Apache Struts Struts 2.3.24.1 has been released on 24 september 2015. http://struts.apache.org/download.cgi#struts23241 spring-framework-4.2.2.RELEASE-...
hibernate-distribution-3.3.2+hibernate-annotations-3.4.0+slf4j-1.5.8(共三卷) part1
hibernate-distribution-3.3.2 + hibernate-annotations-3.4.0 + slf4j-1.5.8 (共三卷) part3
- 配置 Hibernate,包括实体类、映射文件(XML 或注解)以及数据库连接参数。 - 在 Compass 中配置搜索引擎,关联 Hibernate 实体类和对应的索引。 - 使用 Struts 2 的 Action 类进行业务逻辑处理,并通过 Spring ...
《深入理解Hibernate配置与映射:hibernate-configuration-3.0.dtd与hibernate-mapping-3.0.dtd解析》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而`hibernate-...
最新版struts-2.3.20+hibernate-4.3.8+spring-4.1.4集成,运行时需要修改db.properties里面的用户名和密码以及数据库名称
标题中的“hibernate3+ proxool-0.9.1配置”涉及到的是在Java开发中,使用Hibernate3 ORM框架与Proxool连接池的整合配置。Hibernate3是一款流行的持久层框架,它允许开发者用面向对象的方式来操作数据库,而Proxool...
新手初试牛刀,花了3天时间!各种版本不兼容!...尝试了6个版本的hibernate,3个版本的spring, 终于试出来了! 终于圆满了! 终于成功了! struts-2.3.16+hibernate-3.6.10+spring-framework-3.2.6 jdk-1.7.0
本资源“hibernate+junit+mysql-jdbc开发核心jar包三合一”显然是为了支持SSH框架中的Hibernate部分,并结合JUnit进行测试以及MySQL数据库连接。现在我们将详细探讨这三个组件及其在Java开发中的应用。 **Hibernate...
+-----图文安装JDK+TOMCAT+MYSQL配置指南.doc +----jeecms +-----源码 +----JEECMS v2.3.2 Final版发布公告.txt +----readme.txt +----框架简介.txt JEECMS是JavaEE版网站管理系统(Java Enterprise Edition ...
3. 配置Hibernate:添加Hibernate的依赖,创建Hibernate的配置文件,设置数据库连接参数,然后映射实体类和数据库表。 4. 整合Spring和Hibernate:使用Spring管理Hibernate的SessionFactory,实现数据访问层(DAO)...
JSP-车辆管理系统(struts+hibernate+spring+oracle) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! JSP-车辆管理系统(struts+hibernate+spring+oracle) JSP-车辆管理系统(struts+hibernate+spring+oracle) ...
Java-Spring+Struts+Hibernate-SSH框架整合01-Spring+Hibernate(一步一步的教你敲代码)(博客园,博客名称:Java-Spring+Struts+Hibernate-SSH框架整合01-Spring+Hibernate)
【声明】本jar类包的合集是根据书本上以及自己开发中的经验自行配置的,可以保证基本的SSH项目的运行,本人已亲自使用多个大小型项目的开发,可以完美运行。 【注意】在SSH的开发中,不同的jar包有不同的作用,本人...
配置`hibernate.cfg.xml`,设定数据库连接信息,实体类映射等。使用SessionFactory创建会话,进行数据操作。 - **整合** 在Struts 2的Action中,通过Spring的`@Autowired`注解注入Service层组件。在Service层,...
3. **Hibernate配置**:添加hibernate-core.jar、hibernate-entitymanager.jar等,配置hibernate.cfg.xml,定义实体类和映射文件,设置数据源、JDBC连接等。 4. **MySQL数据库**:创建名为'user'的表,可能包含字段...
Struts+Spring+Hibernate-SSH整合开发 Struts+Spring+Hibernate-SSH整合开发