日期:2014-05-16 浏览次数:20769 次
网上找了一些关于解决 Hibernate3 + MySql 8小时的问题,好多网友都建议用 proxool
也查找了一些相关的文章,需要做些准备,首先下载proxool,下载地址 : 点我下载 (也可以从我提供的附件里下载)
然后将 lib 文件夹下的两个 .jar 文件 拷贝到 项目的 lib 文件夹中。
?
现将我自己配置的代码粘到这里,以备众不时之需。
?
好,现在在src 目录下,也就是与hibernate.cfg.xml 同目录下建立 proxool.xml
代码如下:
proxool.xml (这段中大部分是copy网友的,就yourDB、root、123是我改的= =;)
<?xml version="1.0" encoding="UTF-8"?> <proxool> <!-- 数据库连接池别名 --> <alias>DBPool</alias> <!-- 连接字符串 --> <!-- yourDB为你需要连接的数据库,改成自己的数据库名字 --> ? <driver-url>jdbc:mysql://localhost:3306/yourDB</driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="root" /> <property name="password" value="123" /> </driver-properties> <!-- 自动侦察各个连接状态的时间间隔(毫秒,侦察到空闲的连接马上回收,超时的销毁 ) --> <house-keeping-sleep-time>60000</house-keeping-sleep-time> <!-- 最大的等待请求数 --> <proxool.simultaneous-build-throttle>20</proxool.simultaneous-build-throttle> <!-- 最少保持的空闲连接数 --> <prototype-count>5</prototype-count> <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中 --> <maximum-connection-count>10</maximum-connection-count> <!-- 最小连接数 --> <minimum-connection-count>1</minimum-connection-count> <!-- 如果发现了空闲的数据库连接,house keeper将用这个语句来测试 --> <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> </proxool>?
修改hibernate.cfg.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"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="myeclipse.connection.profile">MySql</property> <property name="show_sql">true</property> <property name="show_format">true</property> <!-- start proxool --> <!-- 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 --> <!-- Drop and re-create the database schema on startup <property name="hbm2ddl.auto">create</property> --> <!-- end proxool --> <mapping resource="com/a/pojo/Users.hbm.xml" /> </session-factory> </hibernate-configuration>
?
修改web.xml ,在其中添加 如下代码:
<!-- strat proxool --> <servlet> <servlet-name>proxool</s