溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Druid數(shù)據(jù)庫連接池如何使用

發(fā)布時間:2023-05-10 10:36:16 來源:億速云 閱讀:101 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹了Druid數(shù)據(jù)庫連接池如何使用的相關知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Druid數(shù)據(jù)庫連接池如何使用文章都會有所收獲,下面我們一起來看看吧。

概述

1.數(shù)據(jù)庫連接池是個容器,負責分配、管理數(shù)據(jù)庫連接(Connection);
2.它允許應用程序重復使用一個現(xiàn)有的數(shù)據(jù)庫連接,而不是再重新建立一個;
3.釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏;

可以類比線程池去理解。

優(yōu)點
1.資源重用
2.提升系統(tǒng)響應速度
3.避免數(shù)據(jù)庫連接遺漏

Druid數(shù)據(jù)庫連接池如何使用

連接池是在一開始就創(chuàng)建好了一些連接(Connection)對象存儲起來。用戶需要連接數(shù)據(jù)庫時,不需要自己創(chuàng)建連接,而只需要從連接池中獲取一個連接進行使用,使用完畢后再將連接對象歸還給連接池;這樣就可以起到資源重用,也節(jié)省了頻繁創(chuàng)建連接銷毀連接所花費的時間,從而提升了系統(tǒng)響應的速度。

常見的數(shù)據(jù)庫連接池: DBCP、C3P0、Druid
我們現(xiàn)在使用更多的是Druid,它的性能比其他兩個會好一些。

Druid連接池是阿里巴巴開源的數(shù)據(jù)庫連接池項目,功能強大,性能優(yōu)秀,是Java語言最好的數(shù)據(jù)庫連接池之一。

數(shù)據(jù)庫連接池實現(xiàn)

標準接口:DataSource
官方(SUN) 提供的數(shù)據(jù)庫連接池標準接口,由第三方組織實現(xiàn)此接口。該接口提供了獲取連接的功能:Connection getConnection()

那么以后就不需要通過 DriverManager 對象獲取 Connection 對象,而是通過連接池(DataSource)獲取 Connection 對象。

Driud使用流程

1.導入jar包 druid-1.1.12.jar
2.定義配置文件 druid.properties
3.加載配置文件
4.獲取數(shù)據(jù)庫連接池對象
5.獲取連接

Druid數(shù)據(jù)庫連接池如何使用

代碼示例

配置文件
druid.properties

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/sd?useSSL=false&useServerPrepStmts=true
username=root
password=root
# 初始連接數(shù)
initialSize=5
# 最大連接數(shù)
maxActive=10
# 最大等待時間
maxWait=3000

Java代碼

public static void main(String[] args) throws Exception {
        //1.導入jar包
        //2.定義配置文件
        //3. 加載配置文件
        Properties prop=new Properties();
        prop.load(new FileInputStream("C:\\Users\\斯文\\Desktop\\Java\\demo\\index\\src\\druid.properties"));

        //4. 獲取連接池對象
        DataSource dataSource= DruidDataSourceFactory.createDataSource(prop);

        //5. 獲取數(shù)據(jù)庫連接 Connection
        Connection conn=dataSource.getConnection();

        //6.操作數(shù)據(jù)庫
        String sql = "select * from st";
        Statement stmt=conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            System.out.println(id + " " + name + "    " + age);
        }

    }

關于“Druid數(shù)據(jù)庫連接池如何使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Druid數(shù)據(jù)庫連接池如何使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI