C3P0データベース接続プール技術

C3P0はオープ​​ンソースのJDBC接続プールで、データソースとJNDIバインディングを実装し、JDBC3仕様とJDBC2の標準拡張をサポートしています。c3p0は非同期で動作し、遅いJDBC操作はヘルププロセスを通じて完了します。これらの操作を拡張すると、パフォーマンスを効果的に改善できます。現在それを使用しているオープンソースプロジェクトには、休止状態、春などが含まれています。これは、PreparedStatementsサポートのキャッシングと再利用に使用される、成熟した高度な並行JDBC接続プールライブラリです。c3p0には、アイドル状態の接続を自動的に回復する機能があります。hibernate3は彼を推薦し始めました

方法1:データベース情報をJavaコードで直接取得し、データベース接続プールを確立する

@Test
 public  void test()throws Exception { 
    ComboPooledDataSource cpds = new ComboPooledDataSource(); // 接続プールを作成 
    cpds.setDriverClass( "com.mysql.jdbc.Driver"); // データベースドライバ 
    cpds.setJdbcUrl( "jdbc:mysql :// localhost:3306 / test "); // データベースアドレス 
    cpds.setUser(" root "); // ユーザー名 
    cpds.setPassword(" 123456 "); // パスワード 
    接続conn = cpds.getConnection(); / / 接続を取得します 
    System.out.println(conn); // 接続を印刷します 
}

方法2:構成を通じてデータベース情報を取得し、データベース接続プールを確立する

@Test 
 public  static Connection getConnection2()throws SQLException { 
    DataSource cpds = new ComboPooledDataSource( "myc3p0"); // myc3p0は、構成 
    Connectionのnamed-configタグのname属性と同じですconn = cpds.getConnection(); // Get Connect 
    System.out.println(conn); //接続を印刷します 
}    

srcディレクトリーに置かれた構成ファイルの名前:c3p0-config.xml

 

<?xml version = "1.0" encoding = "UTF-8" ?> 
< c3p0-config > 
    < named-config name = "myc3p0" > 
        <!- 获取连接的4 个基本信-> 
        < プロパティ= "jdbcUrl " > jdbc:mysql:// localhost:3306 / test </ property > 
        < property name =" driverClass " > com.mysql.jdbc.Driver </ property > 
        < property name =" user " > root <
        = "password" > 123456 </ property > 
' 

        <!- データベース接続プールの管理に関連する関連プロパティの設定- > 
        <!- データベースに十分な接続がない場合、一度にデータベースサーバーに適用される接続の数-> 
        < プロパティ= "acquireIncrement" > 5 </ プロパティ> 
        <!- データベース接続プールの初期化時の接続数- > 
        < プロパティ= "initialPoolSize" > 5 </ プロパティ> 
        <!- データベース接続プール内のデータベース接続の最小数- > 
        < プロパティ= "minPoolSize"> 5 </property > 
        <!- データベース接続プール内のデータベース接続の最大数- > 
        < property name = "maxPoolSize" > 10 </ property > 
        <!- C3P0データベース接続プールが維持できるステートメントの数- > 
        < property name = "maxStatements" > 20 </ property > 
        <!- 各接続で同時に使用できるStatementオブジェクトの数- > 
        < property name = "maxStatementsPerConnection" > 5 </ property > 

    </ named-config > 
</ c3p0-config >

 

おすすめ

転載: www.cnblogs.com/linglongfang/p/12693540.html