天天看點

Tomcat中配置MySQL資料庫連接配接池

Tomcat中配置MySQL資料庫連接配接池

        Web開發中與資料庫的連接配接是必不可少的,而資料庫連接配接池技術很好的優化了動态頁與資料庫的連接配接,相比單個連接配接資料庫連接配接池節省了很大的資源。用一個通俗的比喻:如果一個人洗澡需花一桶水,那一百個人就要花一百桶水,太浪費了.如果都在池子裡洗,洗多少個人都不怕了。

1.将MySQL的JDBC驅動複制到Tomcat安裝目錄裡的lib檔案夾下。驅動可以從MySQL官網上下載下傳,為jar包。

2.将Tomcat的配置檔案Context.xml做如下修改:

<Context path="/DBTest" docBase="DBTest"

        debug="5" reloadable="true" crossContext="true">

    <!-- maxActive: Maximum number of dB connections in pool. Make sure you

         configure your mysqld max_connections large enough to handle

         all of your db connections. Set to -1 for no limit.

         -->

    <!-- maxIdle: Maximum number of idle dB connections to retain in pool.

         Set to -1 for no limit.  See also the DBCP documentation on this

         and the minEvictableIdleTimeMillis configuration parameter.

         -->

    <!-- maxWait: Maximum time to wait for a dB connection to become available

         in ms, in this example 10 seconds. An Exception is thrown if

         this timeout is exceeded.  Set to -1 to wait indefinitely.

         -->

    <!-- username and password: MySQL dB username and password for dB connections  -->

    <!-- driverClassName: Class name for the old mm.mysql JDBC driver is

         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.

         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.

         -->

    <!-- url: The JDBC connection url for connecting to your MySQL dB.

         The autoReconnect=true argument to the url makes sure that the

         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the

         connection.  mysqld by default closes idle connections after 8 hours.

         -->

  <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"

               maxActive="100" maxIdle="30" maxWait="10000"

               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"

               url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>

</Context>

注意代碼中紅色部分: DBTest 改為自己的項目路徑; TestDB改為自己的資料源名,但是後面使用時候要與這裡的配置保持一緻; javauser和  javauser改為自己MySQL的使用者名密碼;url的格式依次為 jdbc:mysql://{你的資料庫服務所在的IP,如果為本機就為localhost}:{你的資料庫服務端口号}/{MySQL中要使用的資料庫名稱}?autoReconnect=true  。

3.修改項目WEB-INF/web.xml 配置檔案(若無,請建立),在“</web-app>”之上添加如下代碼:

  <resource-ref>

      <description>DB Connection</description>

      <res-ref-name>jdbc/TestDB</res-ref-name>

      <res-type>javax.sql.DataSource</res-type>

      <res-auth>Container</res-auth>

  </resource-ref>

上步中若修改了資料源名此步中紅色部分請保持與上步中的一緻。

4.代碼示例:

Context initContext = new InitialContext();

Context envContext  = (Context)initContext.lookup("java:/comp/env");

DataSource ds = (DataSource)envContext.lookup("jdbc/TestDB");

Connection conn = ds.getConnection();

Statement st = null;

ResultSet rs = null;

st = conn.createStatement();

rs = st.executeQuery(yoursql);

注意紅色部分與上兩步中的一緻;yoursql處寫你的sql代碼。

通過1-3步就在Tomcat中配置好了MySQL的資料庫連接配接池。如果有什麼問題可以在本文下方留言。 

本文轉載自:http://www.littlear.com/post/2010/06/1051/