JDBC學習筆記(dbcp數據庫鏈接池)

經常使用的數據庫鏈接池有倆種:dbcp和c3p0java

數據庫鏈接池做用:能夠控制數據庫鏈接池來優化效率,使得鏈接沒必要頻繁得到和關閉操做mysql

dbcp數據庫鏈接池

使用前必須導入:mysql-connector-java-5.1.7-bin.jar,commons-dbcp-1.4.jar和commons-pool-1.5.5.jar倆個jar包sql

dbcp數據庫鏈接池的建立有倆種方式。數據庫

 

第一種:提供BasicDataSource類,來建立鏈接池優化

 BasicDataSource裏提供瞭如下方法:url

         * setInitialSize(int count):設置鏈接池初始化鏈接個數
         * setMaxActive(int count):設置同一時刻容許向數據庫同時申請鏈接個數
         * setMinIdle(int count):設置鏈接池容許存在的最少空閒鏈接數目
         * setMaxWait(int count):設置向鏈接池申請鏈接的時間(單位爲毫秒),超過期間會拋出異常
spa

         * getConnection():得到鏈接對象Connectioncode

如下爲操做示例:對象

BasicDataSource basicDataSource=new BasicDataSource();

//設置鏈接池操做信息
basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");//設置數據庫類型
basicDataSource.setUrl("jdbc:mysql://localhost:3306/test");//設置鏈接數據庫名
basicDataSource.setUsername("root");    //設置用戶名
basicDataSource.setPassword("123456");  //設置登陸密碼

//設置鏈接池初始化鏈接個數
basicDataSource.setInitialSize(10);

//設置同一時刻內容許向鏈接池得到鏈接的最大鏈接數
basicDataSource.setMaxActive(20);

//設置在鏈接池內容許保存的最小空閒鏈接數
basicDataSource.setMinIdle(5);

//等待鏈接池分配鏈接的最長時間(單位爲毫秒),超出該時間拋出異常,
basicDataSource.setMaxWait(5*1000);

//從鏈接池得到鏈接
Connection connection=basicDataSource.getConnection();

System.out.println(connection.getClass());

第二種方法:提供DataSource類,來建立鏈接池get

         BasicDataSourceFactory().createDataSource(properties):經過配置文件得到DataSource對象
         getConnection():得到鏈接
         注意:其他設置都可在配置文件完成,但須要名字小寫開頭且與方法名字對應

         * 如:
         * driverClassName=com.mysql.jdbc.Driver
         * url=jdbc:mysql://localhost:3306/test
         * maxActive=20

    此方法經過讀取配置文件設置好數據庫鏈接池的設置

            先在src目錄下建立一個dbcp.properties配置文件,設置好如下參數

                driverClassName=com.mysql.jdbc.Driver
                url=jdbc:mysql://localhost:3306/test
                username=root
                password=123456


                initialSize=10
                maxActive=20
                minIdle=5

                maxWait=5000

          再回到建立方法裏:

                //第二種得到鏈接的方法
                Properties properties=new Properties();
                InputStream input=Use_dbcp.class.getClassLoader().getResourceAsStream("dbcp.properties");
                properties.load(input);

               //經過配置文件設置鏈接池全部須要的參數
              DataSource datasource=new BasicDataSourceFactory().createDataSource(properties);

              System.out.println(datasource.getConnection());
相關文章
相關標籤/搜索