3
DriverManager.getConnection("jdbc:mysql:localhost:3306/testdb","root","root");
    (or)
DataSource ds = new {some class which implements DataSource interface};
ds.getConnection("root","root");

DriverManager.getConnection(); よりも DataSource を使用することをお勧めします。

DriverManager よりもいくつかの利点があるため、すべてのチュートリアルで DataSource を使用することをお勧めします。私の知る限り、(間違っていたら訂正してください) 接続プーリングは、DataSource で得られる主な利点です (他の利点もあるかもしれません)。

その場合、私の要件がデスクトップ Java アプリケーションで接続プールが必要である場合、どうすればそれを実装できますか? 私をJNDI何とか何とかと混同しないでください....

それは、ベンダーが DataSource インターフェイスを実装するクラスを提供する必要がある、私が使用しているデータベース (mysql) のようなものですか。例: MysqlDataSource。

もしそうなら...以下のコードは正しいでしょうか...?接続プールのメリットはありますか? どうすればそれを確認できますか?

MysqlDataSource ds = new MysqlDataSource();
ds.setUrl("jdbc:mysql://localhost:3306/testdb");
ds.setUser("root");
ds.setPassword("root");
Connection connection = ds.getConnection();
4

2 に答える 2

1

Tomcat プール データソースを使用しました。スタンドアロン アプリケーション (アプリケーションまたは Web サーバーの外部) でデータベース接続が必要な場合は、これを試すことができます。

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jdbc</artifactId>
    <version>7.0.35</version>
</dependency>


DataSource ds = new DataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3307/pcmDB");
ds.setUsername("user");
ds.setPassword("password");
ds.setInitialSize(5);
ds.setMaxActive(10);
ds.setMaxIdle(5);
ds.setMinIdle(2);

参考文献

http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency

http://www.codingpedia.org/ama/tomcat-jdbc-connection-pool-configuration-for-production-and-development/

于 2017-01-07T12:28:49.887 に答える