Java不像DotNet那樣内置了連接配接池,是以用jdbc寫程式時DB連接配接性能是非常差的,其實Tomcat自身就支援連接配接池,用法也遠比第三方元件簡單。(真想不明白這麼重要的一個功能java為什麼不給內建到api裡)
先修改tomcat的配置檔案server.xml,在配置應用的時候增加點東西:
<Context docBase="XXX" path="/pool_test" debug="0">
<Resource name="jdbc/pool" <!--起個名字-->
auth="Container"
type="javax.sql.DataSource"
maxActive="50" <!--最大連接配接數量-->
maxIdle="0" <!--最小數量-->
maxWait="10000" <!--逾時時間,秒-->
username="UID" <!--資料庫使用者名-->
password="PWD" <!--密碼-->
driverClassName="com.mysql.jdbc.Driver" <!--jdbc驅動-->
url="jdbc:mysql://localhost:3306/db?useUnicode=true" <!--jdbc連接配接串-->
/>
</Context>
然後是應用的web.xml,增加對資源的引用:
<resource-ref>
<description>DBConnection</description>
<res-ref-name>jdbc/pool</res-ref-name> <!--用剛才起的名字-->
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
最後是代碼了:
Context ctx = new InitialContext();
DataSource dbSource = (DataSource)ctx.lookup("java:comp/env/jdbc/pool"); //名字要加上字首
Connection conn = dbSource.getConnection();
//.....
conn.close();
本文轉自 BoyTNT 51CTO部落格,原文連結:http://blog.51cto.com/boytnt/775614,如需轉載請自行聯系原作者