10.19使用Druid(德魯伊)數據庫連接池


10.19使用Druid(德魯伊)數據庫連接池

Druid特點

日志監控功能

監控DB連接池和SQL的執行情況

操作步驟

導入依賴:

        <dependency>
           <groupId>com.alibaba</groupId>
           <artifactId>druid</artifactId>
           <version>1.2.8</version>
       </dependency>

Druid源碼當中的一些常用方法:

屬性名 默認值 說明
initialSize 0 初始化建立物理連接的個數,初始化發生在:顯示調用init()方法或者getConnection
maxActive 8 最大連接池數量
minIdle   最小連接池數量
maxWait   獲取連接時最大等待時間,單位:毫秒
poolPreparedStatement false 是否緩存preparedStatement,就是PSCachemysql下建議關閉

代碼實現

package JDBCUtilsNo1;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.testng.annotations.Test;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

/**
* 測試Druid數據庫連接池使用
* @since JDK 1.8
* @date 2021/10/19
* @author Lucfier
*/
public class DruidTest {

   private static DataSource source;

   //通過Druid數據庫獲取數據庫連接
   /*
   通過配置文件的方式記錄數據庫的連接加載數據庫的配置信息
   獲取連接
   打印連接信息
    */
   @Test
   public void getConnection() throws Exception {
       //獲取連接
       Connection conn = source.getConnection();
       System.out.println(conn);
  }

   static
  {
       try {
           Properties pros = new Properties();

           InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("Druid.properties");

           pros.load(is);

           source = DruidDataSourceFactory.createDataSource(pros);
      }catch (Exception e) {
           e.printStackTrace();
      }
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM