2日目、C3P0

 Java開発において、次のようにJDBCデータベース操作を4つのステップを使用して(セクションができる空想A):

      ①負荷データベースドライバ(Class.forNameの( "データベースドライバクラス");)
      ②データベース接続(接続たDriverManager.getConnection = CON();)
      データベースの③操作(PreparedStatementのSTAT = con.prepareStatement(SQL) ; stat.executeQuery( );)
      );)((con.closeを接続を解除し、データベースを閉じ④
彼らはxmlファイルを経由して簡単な設定の話をどこsrc以下のプロジェクトに、2つの可能な構成があるC3P0、C3P0私たちは手順を簡素化、このファイルを-私は、一般的に、リソースのMavenプロジェクトに配置されました
<?xml version = "1.0"エンコード= "UTF-8"?> 
<C3P0-config>の
<! -デフォルトの設定は、一度だけ発生する可能性があります- > 
    < デフォルト -config> 
        <! - JDBC四つの基本的な構成プロパティ- > 
        <プロパティ名= "driverClass"> com.mysql.cj.jdbc.Driver </プロパティ> 
        <プロパティ名= "jdbcUrlと"> JDBC:MySQLの:// 127.0.0.1:3306/goods?characterEncoding=utf8& ; falseにuseSslオプション= 
        </プロパティ> 
        <プロパティ名= "ユーザー"> zhangsan </プロパティ> 
        <プロパティ名= "パスワード"> 123123 </プロパティ> 
        <! -接続プールが一度枯渇C3P0同時に、接続の数を取得します。デフォルト:. 3 - > 
        <プロパティ名= "
        名=プロパティ「パスワード」> 123123 </プロパティ> <! -接続の接続プールが枯渇一度に取得C3P0。デフォルト:3 - >
        <プロパティ名= "minPoolSize"> 2 </プロパティ> 
        <! -データベース接続の最大数のデータベース接続プール- > 
        <プロパティ名= "maxPoolSize"> 10 </プロパティ> 
    </ デフォルト -config> 
    
    <名前= configの名前の"MySQLの"> 
        <! -コンフィギュレーションJDBC四つの基本的な特性- > 
        <プロパティ名= "driverClass"> com.mysql.cj.jdbc.Driver </プロパティ> 
        <プロパティ名= "jdbcUrlと" > JDBC:MySQLの:// 127.0.0.1:3306/goods?characterEncoding=utf8&useSSL=false 
        </プロパティ> 
        <プロパティ名= "ユーザー"> zhangsan </プロパティ> 
        <プロパティ名= "パスワード"> 123123 </プロパティ>
        <プロパティ名= "acquireIncrement"> 3 </プロパティ>。
        <! -接続のデータベース接続プールの初期化の数- >
        <プロパティ名= "initialPoolSize"> 5 </プロパティ>。
        <! -データベース接続プールにデータベース接続の最小数- > 
        <プロパティ名= "minPoolSize"> 2 </プロパティ> 
        <! -データベース接続プールデータベース接続の最大数- > 
        <プロパティ名= "maxPoolSize"> 10 </プロパティ> 
    </名前の-config>の
    
</ configの-C3P0>

Javaコードは次のよう

パッケージデシベル。
輸入com.mchange.v2.c3p0.ComboPooledDataSource。
インポート java.sqlの。* ;
パブリック クラスTestC3p0 {
     公共 静的 ボイドメイン(文字列[]引数){ 
        ComboPooledDataSourceのDS = 新しいComboPooledDataSource()。
        接続でCONN = nullを
        声明 = nullを試す{ 
            CONN = ds.getConnection(); 
            文字列のSQL = "SELECT * FROM t_user_test" 
            ステートメント= conn.createStatement()。
            ResultSetのセット = statement.executeQuery(SQL)。
            ResultSetMetaDataデータ = set.getMetaData()。
            System.out.println(data.getColumnCount())。// 一共有多少列 
            のSystem.out.println(data.getColumnName(1))。// 第一列的列名

            ながら(set.next()){ 
                System.out.printlnは(set.getString( 1)+ " "+ set.getString(2)+"" + set.getString(3 )) ; 
            } 
        } キャッチ(例外e){ 
            e.printStackTrace(); 
        } 最後に{
             みてください{
                 場合(connの!= NULL ){ 
                    はconn.closeを(); 
                    statement.close(); 
                } 

            } キャッチ(のSQLException E){ 
                e.printStackTrace(); 
            } 

        } 
    } 



}

 

 

おすすめ

転載: www.cnblogs.com/ysmdbk/p/11041354.html