Skill/spring
[mybatis] Procedure 호출 방법(out 결과 받기)
진열사랑
2020. 10. 13. 19:25
<parameterMap class="map" id="procParam">
<parameter property="P_IN1" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="P_IN2" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="P_OTU1" jdbcType="DECIMAL" javaType="long" mode="OUT"/>
<parameter property="P_OUT2" jdbcType="DECIMAL" javaType="long" mode="OUT"/>
</parameterMap>
<procedure id="proc_test" parameterMap="procParam">
<![CDATA[
{call PROC_TEST(?, ?, ?, ?)}
]]>
</procedure>
-----------------------
procedure의 out 결과 받기
에러발생 null poin error
[Dao.java]
public int setBsmidn(Map<String,Object> param) throws Exception {
String daoNm = param.get("daoNm").toString();
return selectOne(daoNm + ".setBsmidn", param);
// 요부분 에러 왜냐.. 반환값이 없기 때문에..
}
//--> 다음과 같이 수정
public void setBsmidn(Map<String,Object> param) throws Exception {
String daoNm = param.get("daoNm").toString();
selectOne(daoNm + ".setBsmidn", param);
}
<select id="setBsmidn" parameterType="HashMap" resultType="HashMap" statementType="CALLABLE">
{
call PR_SET_BSMIDN1(
#{p_tablename,mode=IN,jdbcType=VARCHAR}
, #{p_bsm_idn_opt,mode=IN,jdbcType=VARCHAR}
, #{p_upd_cnt,mode=OUT,jdbcType=INTEGER }
)
}
</select>