【DBUtilsデータベース接続プールのマルチテーブルは、クエリに参加]

DBUtilsデータベース接続プール、マルチテーブルは、クエリに参加
(公式ドキュメントhttp://commons.apache.org/proper/commons-dbutils/apidocs/index.htmlを表示するには、特定の使用)のMapListHandlerを使用して
キー-の分野照会するSQL文の
付加価値を-取得するデータベースクエリの結果
、問題の記述を
複数テーブルのためには、あなたがBeanListHandlerを使用する場合は、NULLポインタ例外が発生し、クエリに参加します。
例えば、パッケージは、従業員や部門JavaBeansを分類しています。従業員は部署の目標を宣言しました。下図のように:


ソリューション
MapListHandleは、最終的に一覧<マップ<文字列、オブジェクト>>を返す使用するには 、 対応する値が最初の部門クラスキー、および部門オブジェクトとしてパッケージに係る地図から取り出され、クエリフィールドの値によって反復的に用いて除去しました。そして、最終的にはEmployeeオブジェクトとしてパッケージ化、これは使用BeanListHandler NULLポインタ異常現象を解決するでしょう。
図は、次のように特定のコードです。

(フレームDbUtilsによって提供される)を導入ResultSetHandler実装クラス

 

     注:DbUtilsは10のResultSetHandler実装クラスを提供してくれ、彼らは以下のとおりです。

     ①ArrayHandler:配列オブジェクトに保存されたデータのクエリ結果の最初の行

     ②ArrayListHandlerクエリの結果、オブジェクトへの各パッケージアレイの最初の行、および、リストのセットのデータを格納します

     データ③BeanHandlerクエリ結果の最初の行は、パッケージへのユーザオブジェクト

     ユーザオブジェクトに各行④BeanListHandlerパッケージクエリの結果は、その後、リストのセットに格納されています

     ⑤ColumnListHandlerデータは、クエリ結果の列セットカプセル化されたリストを指定しました

     結合パッケージ(キー==列名、値==列の値)をマップするデータクエリ結果の⑥MapHandler最初の行

     リストのセットにマップパッケージにクエリ結果セットの各行⑦MapListHandler(キー==列名、値==列の値)、次いで、マップセット

     データ⑧BeanMapHandlerクエリ結果の各行に、ユーザーオブジェクトにカプセル化し、次いでMAOに設定(キー==列名、値==列の値)

     データ⑨KeyedHandlerクエリ結果の各行は、カプセル化されたMAP1(キー==列名、値==列の値)は、その後、MAP2セット(一方のみ)にMAP1(複数)を設定します

     同様のパッケージ⑩ScalarHandler数、平均、最大、最小、合計......機能の結果

公開された81元の記事 ウォン称賛43 ビュー50000 +

おすすめ

転載: blog.csdn.net/Mrchai521/article/details/104011607