Spring Frameworkが提供するDaoフレームワークのSqlMapClientDaoSupportを使用します。
■BudgetDAO.java
package com.fujitsu.interstage.apfw.samples.dao.bas; import com.fujitsu.interstage.apfw.samples.orm.bas.Budget public interface BudgetDAO { //(1) void insert(Budget budget); ・・・ } |
(1)メソッド宣言
使用するメソッドを宣言します。
■BudgetDaoImpl.java
package com.fujitsu.interstage.apfw.samples.dao.bas; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import org.springframework.dao.DataAccessException; ・・・ // (1) public class BudgetDaoImpl extends SqlMapClientDaoSupport implements BudgetDao { ・・・ // (2) public void insert(Budget budget) throws DataAccessException { getSqlMapClientTemplate().insert("BAS_BUDGET.insert ", budget); } ・・・ } |
(1)SqlMapClientDaoSupportを利用した実装クラスの作成
Spring Frameworkが提供するSqlMapClientDaoSupportを継承して実装クラスを作成します。
(2)メソッドの作成
getSqlMapClientTemplate()を利用してSQL文を発行するメソッドを作成します。
Spring Frameworkの設定ファイルで以下のように設定します。
■applicationContext.xml
<beans> <!-- SqlMap setup for iBATIS Database Layer --> <!-- (1) --> <bean id="sqlMapClientFact" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value> sqlMapConfig.xml</value> </property> <property name="dataSource"> <ref local="dataSource" /> </property> </bean> <!-- (2) --> <bean id="BudgetDao" class="com.fujitsu.interstage.apfw.samples.orm.bas.BudgetDaoImpl"> <property name="sqlMapClient" ref="sqlMapClientFact"/> </bean> </beans> |
(1)iBATISクライアントの登録
SqlMapClientFactoryBeanを設定します。
(2)Daoの実装の登録
Daoの実装のsqlMapClientプロパティに(1)で設定したbeanを指定します。
SQL Map設定ファイルで以下のように設定します。
■sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!-- (1) --> <sqlMap resource="BAS_BUDGET_SqlMap.xml" /> </sqlMapConfig> |
(1)Sql Mapファイルの設定
Sql Mapファイルを設定します。