-
Spring3에서 Procedure의 값 리턴 받기Java/Spring 2020. 7. 3. 17:03반응형
-- Service 구현 단
HashMap으로 프로시저에 들어갈 컬럼에 값을 넣는다.
Map map = new HashMap();
map.put("param_컬럼1", VO.get변수1());
map.put("param_컬럼2", VO.get변수2());
map.put("param_컬럼3", VO.get변수3());
map.put("param_컬럼4", "");
map.put("param_컬럼5", "");
프로시저에 map을 보내고 string 형태의 리턴받을 변수 resultMessage에 리턴 받을 컬럼.toString()으로 값을 담는다.
ServiceDAO.getSqlMapClientTemplate().queryForObject("프로시저호출명", map);
string resultMessage = map.get("param_컬럼5").toString();
-- Dao 설정
public void 프로시저호출명(Sale003NewVO vo) throws Exception {
selectByPk("프로시저호출명", vo);
}-- iBatis xml 설정
<parameterMap id="callParameter" class="java.util.Map">
<parameter property="param_컬럼1" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
<parameter property="param_컬럼2" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
<parameter property="param_컬럼3" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
<parameter property="param_컬럼4" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT" />
<parameter property="param_컬럼5" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT" /> -> 리턴 받을 값
</parameterMap>
*리턴 받을 값엔 mode를 out으로 지정한다.
<procedure id="프로시저호출명" parameterMap="callParameter">
<![CDATA[
{CALL 스키마.프로시저명 (?, ?, ?, ?, ?)} -> DB에 있는 스키마.프로시저명 이다
]]>
</procedure>
반응형'Java > Spring' 카테고리의 다른 글
실행 시 Whitelabel Error Page (0) 2018.12.12 ojdbc6.jar을 Spring Project에서 사용하기 (0) 2018.10.11 An internal error occurred during: "Updating status for Tomcat v8.0 Server at localhost...". java.lang.IndexOutOfBoundsException (0) 2018.10.04 Url을 입력해도 Page 404가 나올 때 (0) 2018.10.01 Lombok (0) 2018.09.30 댓글