StoredProcedureDAOインタフェースのiBATIS用実装クラス。
このクラスは、Bean定義ファイルにBean定義を行いサービス層に
インジェクションして使用する。以下に設定例および実装例を示す。
Bean定義ファイルの例
<bean id="listBLogic"
class="jp.strutspring.blogic.ListBLogic">
<property name="dao"><ref
local="spDAO "/></property>
</bean>
<bean id="spDAO "
class="jp.terasoluna.
fw.dao.ibatis.StoredProcedureDAOiBatisImpl ">
<property name="sqlMapClient"><ref
local="sqlMapClient"/></property>
</bean>
<bean id="sqlMapClient"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>sqlMapConfig.xml</value>
</property>
</bean>
サービス層での使用方法
public class UserGetBLogic{
private StoredProcedureDAO dao = null;
public StoredProcedureDAO getDao() {
return dao;
}
public void setDao(StoredProcedureDAO dao) {
this.dao = dao;
}
public String execute(ActionForm form) {
UserBean userBean = new UserBean();
userBean.setInputId("1");
dao.executeForObject("getUserName", userBean);
String userName = userBean.getName();
...
return "success";
}
}
iBATISの設定例
<parameterMap id="UserBean"
class="jp.strutspring.blogic.UserBean">
<parameter property="inputId"
javaType="java.lang.String" mode="IN"/>
<parameter property="name"
javaType="java.lang.String" mode="OUT"/>
</parameterMap>
<procedure id="getUserName" parameterMap="UserBean">
{call TESTPROCEDURE(?,?)}
</procedure>