ドルイド接続プール
私はこのC3P0接続プールの使用ツールや特定のコードを共有しなければならなかったの前に、今日は我々の共通の未来、結局、接続プールは、最も有名なとして世界的に認知されている接続プールを、提供するために、アリを導入するために、最も接続プーリングツールを使用して簡単にできます。
##、3部からなる、JDBCドルイドアセンブリであります:
-
DruidDriver剤ドライバ、フィルタチェーン・モードに基づいて、プラグインアーキテクチャを提供します。
-
DruidDataSource効率的なデータベース接続プールを管理することができます。
-
SQLParser
## 2、ドルイドはできますか?
1)ドルイドが構築され、データベース・アクセスのパフォーマンスを監視できるデータベース・アクセス・パフォーマンス分析のためのオンライン・ヘルプ、SQLの実行パフォーマンスの統計を詳細に強力なStatFilterプラグインを提供します。
2)あるいはDBCPとC3P0。ドルイドは、効率的な、強力でスケーラブルなデータベース接続プールを提供します。
3)データベースのパスワードの暗号化。良い行動ではないコンフィギュレーションファイル、データベースのパスワードに直接書き込み、簡単にセキュリティ上の問題につながります。DruidDruiverとDruidDataSourceサポートPasswordCallbackの。
4)SQLの実行ログは、ドルイドをサポートするために、異なるLogFilterを提供しています共通のロギング、Log4jのとJdkLogを、あなたは適切なLogFilterを選択する必要性を押すことができ、データベース監視は、アプリケーションを訪問します。
あなたはJDBC層の需要プログラミングを持つようにしたい場合は、JDBCを拡張、フィルター・チェーン機構はドルイドによって提供することができる、エクステンションJDBC層を書くのは簡単です。
##あなたはどのように使用できるかで、私たちの下三:
1 ##、リーダーパケット:
## 2、定義されたプロファイルは、接続プールC3P0は異なる、我々は唯一のsrcディレクトリを必要とする、それが直接識別されます、我々は手動でドルイドを設定する必要があります
* 利点:
1は、プロパティフォームです。
2は、任意の名前を任意のディレクトリに配置することができます呼び出すことができます。(私たちは、一般的に、まだ以下のSRCで使用されます)
## 3、コンフィギュレーション・ファイルをロードします。プロパティ
## 4は、データ接続プール・オブジェクトを取得する:工場によって得ることが DruidDataSourceFactory
## 5を、。接続得る:のgetConnectionを();
## 6、のコードを見てみましょう。
package cn.liurui.web.druid;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCUtils {
//创建成员变量
private static DataSource ds;
//加载配置文件
static {
try {
Properties pro = new Properties();
pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
//获取dataSource连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception o){
o.printStackTrace();
}
}
/**
* 获取连接对象
*/
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
/**
* 释放资源
*/
public static void close(Statement stat,Connection conn){
close(null,stat,conn);
}
public static void close(ResultSet res,Statement stat,Connection conn){
if(res!=null){
try {
res.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stat!=null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 获取连接池
*/
public static DataSource getDataSource(){
return ds;
}
}
Druid 的 JavaDoc 文档请看: