DBCPは、Apacheの
Java
接続プールプロジェクトであり、tomcatが使用する 接続プールコンポーネントです。DBCPは、3つの別々のパッケージが必要です。
common-dbcp.jar
、
common-pool.jar
、
common-collections.jar
データベース接続動作の確立のためには非常に時間がかかり、同じデータベース接続の一部をプール接続を介して事前に確立されたので、リソースを大量に消費され、メモリに、アプリケーションがデータベースへの直接接続を確立する必要がありますプールで申し込み、使用後は元に戻します。dbcpはアイドル接続を自動的に回復しません。DBCPにはマイナーなバグがあり、通常は推奨されません。
方法1:データベース情報をJavaコードで直接取得し、データベース接続プールを確立します。
@Test public void test()throws Exception { BasicDataSource source = new BasicDataSource(); // データベース接続プールを作成します source.setDriverClassName( "com.mysql.jdbc.Driver"); // ドライブ source.setUrl( "jdbc:mysql :// localhost:3306 / test "); // url source.setUsername(" root "); // ユーザー名 source.setPassword(" 123456 "); // パスワード Connection conn = source.getConnection(); // データベース接続を取得する System.out.println(conn); // データベース接続を出力する }
方法2:構成ファイルを通じてデータベース情報を取得し、データベース接続プールを確立する
@Test 公共 ボイドが スロー例外{ プロパティの長所 = 新しい新しいプロパティ(); InputStreamがIS = DBCPTest クラス .getClassLoader()getResourceAsStream( "dbcp.properties" ;) Pros.load(IS); // プロファイルを取得し たDataSourceソース= BasicDataSourceFactory.createDataSource(pros); // データベース接続プールを作成します。 接続conn = source.getConnection(); // 接続を取得します System.out.println(conn); // 接続を印刷します }
構成ファイルには任意の名前を付けることができます。xxx.propertiesは通常dbcp.propertiesという名前です。
driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql:// localhost:3306 / jdbc
username = root
password = 123456
#<!-initial connection->
initialSize = 10
#
最大
接続数maxActive = 50
#< !
-最大アイドル接続-> maxIdle = 20
#<!-最小アイドル接続->
minIdle = 5
#<!-ミリ秒単位のタイムアウト待機時間6000ミリ秒/ 1000は60
秒に等しい-> maxWait = 60000
#JDBCドライバーが接続を確立するときに添付される接続プロパティ属性の形式は次のとおりである必要があります:[プロパティ名=プロパティ;]#注
:2つのプロパティ「user」と「password」は明示的に渡されるため、ここに含める必要はありません。
connectionProperties = useUnicode = true; characterEncoding = gbk#
接続プールによって作成された接続の自動コミットステータスを指定します。
defaultAutoCommit = true
#driver defaultは、接続プールによって作成された接続の読み取り専用ステータスを指定します。
#値が設定されていない場合、「setReadOnly」メソッドは呼び出されません。(一部のドライバーは、Informixなどの読み取り専用モードをサポートしていません)
defaultReadOnly =
#driver default接続プールによって作成された接続のトランザクションレベル(TransactionIsolation)を指定します。
#利用可能な値は次のいずれかです(詳細については、javadocを参照してください)。NONE、READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、SERIALIZABLE
defaultTransactionIsolation = READ_UNCOMMITTED