Druidデータベース接続プールを使用してデータベースを接続する方法と使用方法
3013 ワード
Druidは監視のために生まれたデータベース接続プールで、アリババのオープンソースプラットフォームのプロジェクトです.DruidはJava言語の中で最も良いデータベース接続プールであり、Druidは強力な監視と拡張機能を提供することができる.DBCPとC 3 P 0接続プールを置き換えることができます.Druidは、効率的で機能的で拡張性の高いデータベース接続プールを提供します.
手順:
1.druidの関連jarパッケージをインポートする2.プロファイルファイル形式の定義とロード:名前.properties(任意のディレクトリの下に置くことができます)、フォーマットは以下の通りです.
3.データベース接続プールオブジェクトの取得:工場からDruidDataSourceFactory 4を取得する.接続の取得:getConnection
上記の手順では、ツールクラスJDBCUtilを作成することができます.JAvaで簡単に実現
これにより、druidをデータベースに接続する操作が実現され、次の使用は非常に簡単であり、Springフレームワークで提供されるJDBCtemplateオブジェクトを用いてJDBCの開発を簡略化することで操作が行われる.
JdbcTemplateを最初に初期化するだけで、対応する方法を適用してデータベースの削除変更のいくつかの操作を実現できます.
JdbcTemplateメソッドを呼び出して、CRUDの操作*update()を完了します.DML文を実行します.文を追加、削除、変更*queryForMap():クエリー結果は結果セットをmapセットにカプセル化し、列名をkey、値をvalueとしてこのレコードをmapセットにカプセル化*注意:このメソッドクエリーの結果セット長は1*queryForList()のみ:クエリー結果セットをlistセットにカプセル化*注意:各レコードを1つのMapセットにカプセル化さらにMapコレクションをListコレクションにマウントする*query():結果をクエリーし、結果をJavaBeanオブジェクト*queryのパラメータにカプセル化する:RowMapper*一般的にBeanPropertyRowMapper実装クラスを使用します.JavaBeanへのデータの自動カプセル化*new BeanPropertyRowMapper(タイプ.class)*queryForObject:結果をクエリーし、結果をオブジェクトにカプセル化*一般的に集約関数に使用されるクエリー
手順:
1.druidの関連jarパッケージをインポートする2.プロファイルファイル形式の定義とロード:名前.properties(任意のディレクトリの下に置くことができます)、フォーマットは以下の通りです.
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///information // informatiom
username=root //
password=root
initialSize=5
maxActive=10
maxWait=3000
3.データベース接続プールオブジェクトの取得:工場からDruidDataSourceFactory 4を取得する.接続の取得:getConnection
** **
//
Properties pro = new Properties();
InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//
DataSource ds = DruidDataSourceFactory.createDataSource(pro);
/.
Connection conn = ds.getConnection();
上記の手順では、ツールクラスJDBCUtilを作成することができます.JAvaで簡単に実現
/*
1.
2.
3.
4.
5.
*/
public class JDBCUtils {
// 1.
private static DataSource ds;
// 2.
static {
//
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
Properties pp = new Properties();
try {
pp.load(is);
// ,
ds = DruidDataSourceFactory.createDataSource(pp);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
// 3.
public static DataSource getDataSource() {
return ds;
}
// 4.
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
// 5.
public static void close(Connection conn, Statement stmt, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {}
}
}
// 6.
public static void close(Connection conn, Statement stmt) {
close(conn, stmt, null);
}
}
これにより、druidをデータベースに接続する操作が実現され、次の使用は非常に簡単であり、Springフレームワークで提供されるJDBCtemplateオブジェクトを用いてJDBCの開発を簡略化することで操作が行われる.
JdbcTemplateを最初に初期化するだけで、対応する方法を適用してデータベースの削除変更のいくつかの操作を実現できます.
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
JdbcTemplateメソッドを呼び出して、CRUDの操作*update()を完了します.DML文を実行します.文を追加、削除、変更*queryForMap():クエリー結果は結果セットをmapセットにカプセル化し、列名をkey、値をvalueとしてこのレコードをmapセットにカプセル化*注意:このメソッドクエリーの結果セット長は1*queryForList()のみ:クエリー結果セットをlistセットにカプセル化*注意:各レコードを1つのMapセットにカプセル化さらにMapコレクションをListコレクションにマウントする*query():結果をクエリーし、結果をJavaBeanオブジェクト*queryのパラメータにカプセル化する:RowMapper*一般的にBeanPropertyRowMapper実装クラスを使用します.JavaBeanへのデータの自動カプセル化*new BeanPropertyRowMapper(タイプ.class)*queryForObject:結果をクエリーし、結果をオブジェクトにカプセル化*一般的に集約関数に使用されるクエリー