ホームページ  >  記事  >  データベース  >  MySQL接続プール内蔵jdbcの解析

MySQL接続プール内蔵jdbcの解析

王林
王林転載
2023-05-29 15:40:141149ブラウズ

はじめに

次は 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 を設定した後、データベースの設定が機能しないようで、Miao Ming はデザインが非常に悪いと感じたので、上記の場合はこれら 2 つの方法を使用しませんでした。

テストしたところ、多数のスレッドを作成しても、常に接続されているスレッドは少数であることがわかりました。おそらく数秒後に再利用されるでしょうが、作成された総数はまだ非常に多くなっています。

MySQL接続プール内蔵jdbcの解析

以上がMySQL接続プール内蔵jdbcの解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。