Oracle에 프로시저를 생성한 후 iBatis와 연동하여 데이터를 insert하는 예제입니다.
웹 화면에서 신규직원의 기본정보를 입력받아 Oracle HR계정의 EMPLOYEE 테이블에 기본정보를
입력합니다.
1.웹 화면에서 넘어온 파라미터를 HashMap에 저장한 후 아래와 같이 DAO를 호출함
// =================================================================================
// 직원등록
// =================================================================================
public void insertEmployee(HashMap<String, String> hParam) {
getSqlMapClientTemplate().queryForObject(
"hihanjoong.oracle.query.OracleQuery.insertEmployee",hParam);
}
2. sql 매핑을 아래와 같이 실행함
<procedure id="hihanjoong.oracle.query.OracleQuery.insertEmployee"
parameterClass="java.util.HashMap">
<![CDATA[
{CALL rgister_employees(#first_name#,#last_name#,#email#,#job_id#)}
]]>
</procedure>
3. rgister_employees 프로시저 내용
CREATE OR REPLACE PROCEDURE HR.rgister_employees(
in_first_name VARCHAR2,
in_last_name VARCHAR2,
in_email VARCHAR2,
in_j_id VARCHAR2) IS
BEGIN
INSERT INTO EMPLOYEES(employee_id, first_name, last_name,
email, hire_date,job_id)
VALUES(EMPLOYEES_SEQ.NEXTVAL, in_first_name,
in_last_name, in_email, sysdate, in_j_id);
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(in_first_name || ' ' || in_last_name || '등록실패' );
ROLLBACK;
END;
/
'SQL > IBATIS' 카테고리의 다른 글
ibatis mysql rownum (0) | 2014.02.12 |
---|---|
ibatis multiple update (0) | 2014.02.12 |
ibatis $ # 차이 (0) | 2014.02.12 |
ibatis iterate ( map , list , array ) (0) | 2014.02.12 |
iBatis 예제 - 2 (iBatis iterate를 이용한 동적 쿼리) (0) | 2014.02.12 |
iBatis 예제 - 1 (iBatis 기본설정 및 데이터 출력) (0) | 2014.02.12 |
iBatis기본 설정 및 사용방법(회원가입 및 수정 탈퇴 예제) (0) | 2014.02.12 |
iBatis 동적인 SQL 항목별 요소 (0) | 2014.02.12 |