티스토리 뷰
오라클에서는 프로시저 내부에서 NUMBER 를 BIGDECIMAL 로 변환해서 사용한다고 한다.
그래서 iBatis 에서 선언 시
IN 변수는 number
OUT 변수는 decimal
로 설정해줘야 한다.
-- Controller
HashMap requestMap = new HashMap();
requestMap.put("REQUEST_PARAM_STR", "AA");
requestMap.put("REQUSET_PARAM_NUM", 100);
service.callProceduer(requestMap);
String resultCode = requestMap.get("RESULT_CODE");
String resultMsg = requestmap.get("RESULT_MSG");
System.out.println(resultCode);
System.out.println(resultMsg);
-- Service
public HashMap callProceduer(Map requestMap) throws ServiceException {
try {
return dao.callProceduer(requestMap);
} catch (Exception e) {
// throw Exception('error');
}
}
-- Dao
public HashMap callProceduer(Map requestMap) throws DaoException {
return (HashMap) queryForObject("callProceduer", requestMap);
}
-- iBatis
<parameterMap id="proceduerResultMap" class="java.util.Map">
<parameter property="REQUEST_PARAM_STR" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
<parameter property="REQUSET_PARAM_NUM" javaType="java.lang.Integer" jdbcType="NUMBER" mode="IN" />
<parameter property="RESULT_CODE" javaType="java.lang.Integer" jdbcType="DECIMAL" mode="OUT" />
<parameter property="RESULT_MSG" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT" />
</parameterMap>
<procedure id="callProceduer" parameterMap="proceduerResultMap">
<![CDATA[
{ CALL PROC_USER_PROCEDUER(?,?,?,?) }
]]>
</procedure>
-- Proceduer
create or replace PROCEDURE PROC_USER_PROCEDUER
(
REQUEST_PARAM_STR VARCHAR2
, REQUSET_PARAM_NUM NUMBER
, RESULT_CODE OUT NUMBER
, RESULT_MSG OUT VARCHAR2
)
IS
BEGIN
-- 업무 로직 수행
RESULT_CODE := 0;
RESULT_MSG := 'SUCCESS';
END;
'프로그래밍' 카테고리의 다른 글
[JAVA] 예외 처리 Exception try-catch-finally, throws, 사용자 정의 예외 (0) | 2016.12.24 |
---|---|
[JAVASCRIPT] Selector 시 특수문자 (0) | 2016.12.24 |
[JAVASCRIPT] 자바스크립트 바이트 체크 (0) | 2016.12.24 |
[DB] ORACLE INDEX (0) | 2016.12.24 |
[Spring] 스프링 스케줄러 (Spring QuartzJobScheduler) (0) | 2016.12.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Oracle
- 볼리비아
- 빈트후크
- 나미비아
- 캄보디아
- 성스러운 계곡
- 아구아스 칼리엔테스
- 애드센스
- 쿠스코
- Uyuni
- 칠레
- calama
- Cambodia
- Namibia
- 칼라마
- aguas calientes
- 푸에르토 나탈레스
- 족발
- 햄버거
- 빅토리아폴스
- 우유니
- jQuery
- 토레스 델 파이네
- 마추피추
- 킹덤 호텔
- 남미 저가항공
- 남미
- 후마리
- Cusco
- 성계 투어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함