DBUtilsの使用の詳細
7621 ワード
DBUtilsの使用の詳細
一:Dbutilsとは何ですか.
Dbutils:主にJDBCのコードをカプセル化し、Daoレイヤの操作を簡素化します.役割:javaプログラマーを助け、Daoレイヤコードの簡単なフレームワークを開発します.前の万能検索検索などのツールクラスに似ています
二:なぜDbutilsが必要なのですか.
Dbutilsを使用する前に、Daoレイヤで使用されていた技術はJDBCでした.では、JDBCの弊害を分析します.(1)データベースリンクオブジェクト、sql文操作オブジェクト、結果セットオブジェクトをカプセル化します.この3つのオブジェクトは定義(2)カプセル化データのコード繰り返しを繰り返し、操作が複雑で、コード量が大きい(3)リソースを解放するコード繰り返しです.
3:Dbutilsの3つのコアクラスの紹介:
1:DbUtils:接続データベースオブジェクト----jdbc補助メソッドの集合クラス、スレッド安全構造メソッド:DbUtils()作用:制御接続、制御本屋、制御駆動ロードクラス.
3:ResultSet Handle:データをカプセル化するポリシーオブジェクト------カプセル化結果セットのデータを別のオブジェクトポリシーに変換する:データをオブジェクトにカプセル化する方法(例:データベースをUserに保存、配列に保存、集合に保存)方法紹介:handle(ResultSet)
四:Dbutilsクイックスタート
Dbutilsの使用上の注意点:(1)インポートするjarパッケージ:①MySqlドライバ②c 3 p 0パッケージ③DbUtilsパッケージ(2)c 3 p 0プロファイルを追加(3)JDBCUtilsツールクラスを自分で追加:c 3 p 0接続プールオブジェクトを取得する(データソースの取得と接続の取得方法がある)
コードプレゼンテーション:QueryRunner(JDBCUtils.getDataSource()は、sqlを実行するたびに接続を入力する必要がなく、効率が高いようにデータソースのコンストラクション関数に接続を取得します.1.update(String sql,Object...params)のような削除を追加します.
2.QueryRunnerのqueryメソッドとResultSet Handlerインタフェースの使用を調べ、結果セット処理クラスをシミュレートする
このことから,結果セットはオブジェクト,集合など多様なタイプである可能性があり,Dbutilsはまた結果セットを取り出して単独で記述していることが分かる.
3.queryテスト
DbUtilsは、次のような10のResultSet Handler実装クラスを提供します.
①ArrayHandler:クエリ結果の最初の行のデータをObject配列に保存する
②ArrayListHandlerクエリーの結果を各行ごとにObject配列にカプセル化し、リストセットにデータを格納する
③BeanHandlerクエリー結果の1行のデータをuserオブジェクトにカプセル化する
④BeanListHandlerクエリー結果の各行をuserオブジェクトにカプセル化し、リストセットに格納する
⑤ColumnListHandlerクエリ指定フィールドのすべての値をリストセットにカプセル化する
⑥MapHandlerクエリー結果の最初の行のデータをmap結合にカプセル化する
⑦MapListHandlerクエリー結果の各行をmap集合にカプセル化し、map集合をList集合に格納する
⑧BeanMapHandlerクエリー結果の各行データをUserオブジェクトにカプセル化し、maoセットに格納する
⑨KeyedHandlerクエリの結果の各ローのデータをmap 1にカプセル化し、map 1セット(複数あり)をmap 2セット(1つのみ)に格納する
⑩ScalarHandlerクエリー指定オブジェクトの指定フィールドの値またはcount、avg、max、min、sum…関数のようなクエリーパッケージの実行結果
以上の10個のResultSetHandler実装クラス、一般的なBeanHandler、BeanListHandler、ScalarHandler
まとめ:DBUtilsはコンパクトなJDBC軽量級パッケージのツールパッケージで、その最も核心的な特性は結果セットのパッケージで、直接検索した結果セットをJavaBeanにパッケージすることができて、これは私たちのために最も退屈で、最も間違いやすい大部分の仕事をしました.DBUtilsを使用する前に、いくつかの問題に注意してください:1、DBUtilsはJDBCの簡単なパッケージで、JDBCと混合して使用することができます.2、DBUtilsは結果セットをJavaBeanに自動的にカプセル化するには厳しい要求がある:JavaBeanの仕様を満たさなければならない.次に、Beanのgetterはsetterメソッドの名前と結果セットの列名に対応し、JavaBeanのプライベートメンバーとテーブル結果セットの列名に対応することを要求しない.3、DBUtilsの性能はJDBCの性能と同じで、テスト中に性能損失が発見されず、高性能と同時に、JDBCの柔軟性を失わない.
一:Dbutilsとは何ですか.
Dbutils:主にJDBCのコードをカプセル化し、Daoレイヤの操作を簡素化します.役割:javaプログラマーを助け、Daoレイヤコードの簡単なフレームワークを開発します.前の万能検索検索などのツールクラスに似ています
二:なぜDbutilsが必要なのですか.
Dbutilsを使用する前に、Daoレイヤで使用されていた技術はJDBCでした.では、JDBCの弊害を分析します.(1)データベースリンクオブジェクト、sql文操作オブジェクト、結果セットオブジェクトをカプセル化します.この3つのオブジェクトは定義(2)カプセル化データのコード繰り返しを繰り返し、操作が複雑で、コード量が大きい(3)リソースを解放するコード繰り返しです.
3:Dbutilsの3つのコアクラスの紹介:
1:DbUtils:接続データベースオブジェクト----jdbc補助メソッドの集合クラス、スレッド安全構造メソッド:DbUtils()作用:制御接続、制御本屋、制御駆動ロードクラス.
2:QueryRunner:SQL , , 。
:
(1)QueryRunner(): QueryRunner , , Connection , 。
Connection.setAutoCommit(false);
Connection.commit();
(2)QueryRunner(DataSource ds): queryRunner , , Connection , 。
DataSource: 。
:
QueryRunner()
update(Connection conn, String sql, Object... params)
query(Connection conn, String sql,ResultSetHandler rsh, Object... params)
QueryRunner(DataSource ds)
update(String sql, Object... params)
query(String sql, ResultSetHandler rsh, Object... params)
3:ResultSet Handle:データをカプセル化するポリシーオブジェクト------カプセル化結果セットのデータを別のオブジェクトポリシーに変換する:データをオブジェクトにカプセル化する方法(例:データベースをUserに保存、配列に保存、集合に保存)方法紹介:handle(ResultSet)
四:Dbutilsクイックスタート
Dbutilsの使用上の注意点:(1)インポートするjarパッケージ:①MySqlドライバ②c 3 p 0パッケージ③DbUtilsパッケージ(2)c 3 p 0プロファイルを追加(3)JDBCUtilsツールクラスを自分で追加:c 3 p 0接続プールオブジェクトを取得する(データソースの取得と接続の取得方法がある)
コードプレゼンテーション:QueryRunner(JDBCUtils.getDataSource()は、sqlを実行するたびに接続を入力する必要がなく、効率が高いようにデータソースのコンストラクション関数に接続を取得します.1.update(String sql,Object...params)のような削除を追加します.
@Test
public void test2(){
// : queryRunner , sql
QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
// : sql
String sql = "update user set name = ? where id = ?";
// : sql ,params: sql
// , sql , user
try {
int update = qr.update(sql, 1, 2);
System.out.println(update);
} catch (SQLException e) {
e.printStackTrace();
}
}
2.QueryRunnerのqueryメソッドとResultSet Handlerインタフェースの使用を調べ、結果セット処理クラスをシミュレートする
public class MyHandler {
// , list , !
public List
handle(ResultSet rs) throws SQLException {
// , Resultset
List
list = new ArrayList
このことから,結果セットはオブジェクト,集合など多様なタイプである可能性があり,Dbutilsはまた結果セットを取り出して単独で記述していることが分かる.
3.queryテスト
@Test
public void test4(){
// : queryRunner , sql
QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
// : sql
String sql = "select * from user";
// : sql ,params: sql
// , sql , user
try {
List
list = qr.query(sql, new MyHandler());
System.out.println(list);
} catch (SQLException e) {
e.printStackTrace();
}
}
DbUtilsは、次のような10のResultSet Handler実装クラスを提供します.
①ArrayHandler:クエリ結果の最初の行のデータをObject配列に保存する
②ArrayListHandlerクエリーの結果を各行ごとにObject配列にカプセル化し、リストセットにデータを格納する
③BeanHandlerクエリー結果の1行のデータをuserオブジェクトにカプセル化する
④BeanListHandlerクエリー結果の各行をuserオブジェクトにカプセル化し、リストセットに格納する
⑤ColumnListHandlerクエリ指定フィールドのすべての値をリストセットにカプセル化する
⑥MapHandlerクエリー結果の最初の行のデータをmap結合にカプセル化する
⑦MapListHandlerクエリー結果の各行をmap集合にカプセル化し、map集合をList集合に格納する
⑧BeanMapHandlerクエリー結果の各行データをUserオブジェクトにカプセル化し、maoセットに格納する
⑨KeyedHandlerクエリの結果の各ローのデータをmap 1にカプセル化し、map 1セット(複数あり)をmap 2セット(1つのみ)に格納する
⑩ScalarHandlerクエリー指定オブジェクトの指定フィールドの値またはcount、avg、max、min、sum…関数のようなクエリーパッケージの実行結果
以上の10個のResultSetHandler実装クラス、一般的なBeanHandler、BeanListHandler、ScalarHandler
まとめ:DBUtilsはコンパクトなJDBC軽量級パッケージのツールパッケージで、その最も核心的な特性は結果セットのパッケージで、直接検索した結果セットをJavaBeanにパッケージすることができて、これは私たちのために最も退屈で、最も間違いやすい大部分の仕事をしました.DBUtilsを使用する前に、いくつかの問題に注意してください:1、DBUtilsはJDBCの簡単なパッケージで、JDBCと混合して使用することができます.2、DBUtilsは結果セットをJavaBeanに自動的にカプセル化するには厳しい要求がある:JavaBeanの仕様を満たさなければならない.次に、Beanのgetterはsetterメソッドの名前と結果セットの列名に対応し、JavaBeanのプライベートメンバーとテーブル結果セットの列名に対応することを要求しない.3、DBUtilsの性能はJDBCの性能と同じで、テスト中に性能損失が発見されず、高性能と同時に、JDBCの柔軟性を失わない.