配置Hibernate使用Proxool连接池
第一步:配置proxool.xml
<?xml version="1.0" encoding="UTF-8"?> <something-else-entirely><proxool><!--连接池的别名--><alias>test</alias><!--proxool只能管理由自己产生的连接--><driver-url>jdbc:jtds:sqlserver://localhost:1433/userinfo</driver-url><!-- JDBC驱动程序--><driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class><driver-properties> <property name="user" value="sa"/> <property name="password" value="sa"/> <property name="useUnicode" value="true"/> <property name="characterEncoding" value="utf-8"/> </driver-properties> <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁--> <house-keeping-sleep-time>90000</house-keeping-sleep-time><!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受--> <maximum-new-connections>20</maximum-new-connections><!-- 最少保持的空闲连接数--> <prototype-count>5</prototype-count><!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定--> <maximum-connection-count>100</maximum-connection-count><!-- 最小连接数--><minimum-connection-count>10</minimum-connection-count><!-- 用于检connection是否处于连接状态 --><house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> </proxool> </something-else-entirely>
第二步:配置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><!--指定连接的语言--><property name="dialect">org.hibernate.dialect.SQLServerDialect</property> <!--是否将运行期生成的SQL输出到日志以供调试--><property name="show_sql">true</property><property name="format_sql">true</property><!-- 表明使用的是proxool --><property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property><!-- 指定proxool的配置文件的名字及位置 --><property name="proxool.xml">proxool.xml</property><!-- 指定proxool文件中配置的别名 --><property name="proxool.pool_alias">test</property> <mapping resource="com/lovo/po/UserPO.hbm.xml"/></session-factory></hibernate-configuration>