|
JDBC抽象化フレームワークhttp://works.dgic.co.jp/djwiki/Viewpage.do?pid=@4A444243E68ABDE8B1A1E58C96E38395E383ACE383BCE383A0E383AFE383BCE382AFEncoding:UTF-8 / Locale:en_US / PageStatus: Frozen Owner of this page:d.Dev |
JDBC抽象化フレームワークSpringがサポートしているフレームワークの1つに、「JDBC抽象化フレームワーク」があります。 このJDBC抽象化フレームワークを使用することによって
という点があげられます。 JDBC抽象化フレームワークでは、1SQLい対してクラスを作成し、それらのSQLクラスの取りまとめを行うDAOクラスを用意する。 DAOクラスは目的に応じて必要なSQLクラスを実行し、結果を取得するという流れになります。 まずSQLクラスを用意します。 ここで作成するSQLクラスは「○○テーブルの全内容を取得する」という単純なSQLにします。 FindQuery.java
SQLクラスが継承するクラスは2通りあって、
となり、今回は検索系なのでMappingSqlQueryを継承して作成します。 コンストラクタ内で親クラスに実行するSQLを渡し、compileメソッドでコンパイル処理を実行します。 mapRowメソッドは、ResultSetの内容から結果を取得し、オブジェクトを生成して返却するというメソッドです。 あくまでもここで返却するのは1件のオブジェクトであって、このメソッド内ではループ処理などは行いません。 ここで返却されたオブジェクトは、親クラスがList型にまとめてDAOクラスに返却します。 続いてDAOクラスです。 SampleDAO.java
DAOクラスは、org.springframework.jdbc.core.support.JdbcDaoSupportクラスを継承して作成します。 ちなみにこのJdbcDaoSupportは、InitializingBeanというインタフェースを実装しており、このインタフェースで宣言されたafterPropertiesSetというメソッドを持っています。 このInitializingBeanを実装したクラスは、springのIoCコンテナによってインスタンス化され、プロパティの設定が終わったタイミングでInitializingBeanで宣言された afterPropertiesSetメソッドを呼び出すようになっています。 |