❶ 怎樣在hibernate中使用資料庫連接池
經過一個周末的折騰,終於找到了hibernate中使用資料庫連接池的解決方案。
從網上google了一下,發現大致有三種可以實施的解決方案:
1、使用hibernate自帶的連接池;
2、使用c3po包的連接池功能;
3、使用Proxool包的連接池功能;
第一種方案,就是在myeclipse產生的hibernate.cfg.xml中添加一個屬性:
<property >20</property>
第二種方案是:
<property >test</property>
<property >com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property >jdbc:microsoft:sqlserver://localhost:1433;databasename=test</property>
<property >sa</property>
<property >123</property>
<property >2</property>
<property >10</property>
<property >1800</property>
<property >4</property>
<property >1</property>
<property >36000</property>
<property >2</property>
<property >10</property>
<property >1200</property>
<property >30</property>
<property >2</property>
<property >org.hibernate.connection.C3P0ConnectionProvider</property>
第三中方案是Proxool:
在hibernate.cfg.xml中添加:
<!-- Proxool Database connection settings -->
<property >org.hibernate.connection.ProxoolConnectionProvider</property>
<property >DBPool</property>
<property >Proxool.xml</property>
<property >org.hibernate.dialect.SQLServerDialect</property>
<property >false</property>
然後再添加一個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:microsoft:sqlserver://localhost:1433;databasename=test</driver-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<driver-properties>
<property value="sa"/>
<property value="123"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
</proxool>
</something-else-entirely>
❷ tomcat5.5.9與sqlserver2000的資料庫連接池的配置
編輯tomcat子目錄conf中的context.xml文件,在其中加入:
<Resource name="jdbc/mypool[你的鏈接池名稱,與下個文件中必須保持一致]" auth="Container" type="javax.sql.DataSource" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://192.168.0.1[你的資料庫IP地址,如果本機就保持不變]:1433/<你的資料庫名稱>" username="<資料庫用戶名>" password="<資料庫密碼>" maxActive="20" maxIdle="10" maxWait="-1"/>
再編輯你的應用程序目錄WEB-INF下的web.xml文件,在其中加入:
<resource-ref>
<description>SQL Server Pool</description>
<res-ref-name>jdbc/mypool[與在context.xml中聲明的名稱必須一致]</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
然後把msbase.jar,mssqlserver.jar,msutil.jar三個文件復制到tomcat的common/lib中,再啟動tomcat即可。
註:1、[]中的內容為注釋,<>中的內容根據你自己的實際情況填寫。
另外,如果sqlserver伺服器上開了防火牆,請打開1433埠。
❸ 如何創建資料庫連接池
tomcat下建立連接池
<Context>
<Resource name="jdbc/dbname" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/dbname">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>oa</value>
</parameter>
<parameter>
<name>password</name>
<value>oa</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://192.168.1.84:1433;DatabaseName=dbnmae;SelectMethod=cursor</value>
</parameter>
</ResourceParams>
</Context>