首頁 > 資料庫 > mysql教程 > jdbc中自帶MySQL連線池實例分析

jdbc中自帶MySQL連線池實例分析

王林
發布: 2023-05-29 15:40:14
轉載
1191 人瀏覽過

引言

下面是com.mysql.cj.jdbc.MysqlConnectionPoolDataSource使用實踐,比較簡單,API 倒是挺多的,但是大多數都用不到。

package com.funtest.groovytest
import com.funtester.frame.SourceCode
import com.mysql.cj.jdbc.MysqlConnectionPoolDataSource
class MysqlPoolTe extends SourceCode {
    public static void main(String[] args) {
        def query = "select * from testers limit 2;"
        def source = new MysqlConnectionPoolDataSource()
        source.setServerName("localhost")
        source.setPort(3306)
        source.setUser("root")
        source.setPassword("root123456")
        source.setDatabaseName("funtester")
        source.setAllowMultiQueries(true)
        def connection = source.getPooledConnection()
        def statement = connection.getConnection().createStatement()
        while (true) {
            sleep(1)
            def query = statement.executeQuery(query)
            while (query.next()) {
                output query.getString("name")
            }
        }
    }
}
登入後複製

這裡有個很容易的坑,就是有個setURL()還有一個setUrl(),其實這兩個沒有任何差別,我只能說可能為了兼容舊版把。還有就是設定了 URL 之後,好像 database 設定不起作用了,也是妙明感覺設計真糟心,所以在上面的案例中我也沒有用到這兩個方法。

我進行測試後發現,儘管我創建了大量線程,但只有少數線程始終處於連接狀態。大概是經過幾秒鐘就會被回收一次,但是總創建數依舊非常高。

jdbc中自帶MySQL連線池實例分析

以上是jdbc中自帶MySQL連線池實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板