Tomcat6.0數據庫連接池配置實例(mysql數據庫)

fmms 12年前發布 | 67K 次閱讀 Tomcat 應用服務器

TomCat6.0數據庫連接池配置有幾種方式,在這里我只介紹其中的一種供大家參考: 
下面我把配置過程分成三個步驟來完成: 
第一步:在你安裝TomCat的目錄下找到context.xml配置文件。(例如:D:\Tomcat 6.0\conf\context.xml)然后打開context.xml,在標簽<context></<context>之間加入以下內容:(為了大家容易理解,我加了較詳細的注釋) 
<Resource 
   name="jdbc/course" //數據源名稱(自定義)到時候要用到的,所以最好起 
      //個有含義的名字,例如我這個數據源名字,jdbc表示與//數據庫連接有關的,而course是我這個項目的名字。 
   auth="Container" //這個默認就好了 
   type="javax.sql.DataSource" //這個也默認就好了 
              driverClassName="com.mysql.jdbc.Driver"http://這里用到的是mysql數據庫的驅動包。 
              url="jdbc:mysql://localhost/course" //這里是連接到mysql數據庫的url,其中url="jdbc:mysql://localhost/"是固定的,而course是我這個 //項目的數據庫名稱,所以這里改為你們的數據庫名稱就好了。 
              username="root"http://登陸數據庫的用戶名  
     password="birchhua" //登陸數據庫的密碼 
     maxIdle="5"http://這個也默認就好了 
              maxWait="5000"http://這個也默認就好了 
              maxActive="10"/>//這個也默認就好了 

第二步:在你的項目WEB-INF目錄下找到web.xml配置文件,然后打開,在標簽<web-app></web-app>之間加入以下內容: <resource-ref> 

<description>DB Connection</description> 
<res-ref-name>jdbc/course</res-ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth> 
</resource-ref> 

其中:DB Connection 是自定義的,而jdbc/course是對應上面<Resource></Resource>標簽中的name屬性的值,還有 javax.sql.DataSource就對應type屬性的值,而最后Container對應的是auth屬性的值。 

第三步:上網下載一個叫mysql-connector-java-3.1.10-bin.jar的jar包,然后將該jar包放到TomCat安裝目錄下的lib文件夾里。(例如:D:\Tomcat 6.0\lib\mysql-connector-java-3.1.10-bin.jar)完成這三步就配置好了TomCat數據源了。 

下面根據剛才配置好的數據源做一個簡單獲取數據庫連接的測試,代碼如下:

    package com.lm.dbmanager;  

    import java.sql.Connection;  
    import java.sql.PreparedStatement;  
    import java.sql.ResultSet;  
    import java.sql.SQLException;  

    import javax.naming.InitialContext;  
    import javax.naming.NamingException;  
    import javax.sql.DataSource;  

    public class GetConnectionTest {  
        public static void main(String[] args) {  

            InitialContext ctx;  
            PreparedStatement pstmt = null;  
            Connection conn = null;  
            String sql = "select * from course";  
            try {  
                ctx = new InitialContext();  
                /* 
                 * 在下面的字符串"java:comp/env/jdbc/course"中,*"java:comp/env/"是不變的, 
                 * 而"jdbc/course"大家應該還記得自己之前起的數據源名稱吧! 
                 */  
                DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/course");  
                conn = ds.getConnection();  
                pstmt = conn.prepareStatement(sql);  
                ResultSet rs = pstmt.executeQuery();  
                System.out.println("課程編號  " + "  課程名");  
                System.out.println("--------------------");  
                while(rs.next()) {  
                    System.out.println("| "+rs.getInt(1) +"  |  " +rs.getString(2) + "  |");  
                    System.out.println("--------------------");  
                }  
            } catch (NamingException e) {  
                e.printStackTrace();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  

        }  
    }   

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!