LoginUserController.java
Map<String, String> paramMap = new HashMap<String, String>(); //서비스단에 전달한 parameter를 담는 Map객체 paramMap.put("empCode", StringUtil.nvl(request.getParameter("empCode"),"empCode")); //유저가 입력한 사원 코드 paramMap.put("password", password);
LoginUserVO loginUserVO = loginUserService.getLogin(paramMap);
--------------------------------------------------------------------------
Service, DAO 기본 파라미터 값 전달 동일하구요.
마이바티스에서 프로시저 호출하고 싶은데 잘 안됩니다. 일단 제가 mapper xml에 작성한 파일은 맵퍼는
<resultMap type="hashmap" id="getLoginXML"></resultMap> <select id="getLogin" statementType="CALLABLE" parameterType="hashmap"> { call SALE.SP_X_MEMBER_GETLOGIN( #{empCode}, #{password}, #{retList, mode=OUT, jdbcType=CURSOR, javaType=ResultSet, resultMap=getLoginXML} ) } </select>
-----------------------------------------------------------------------------
오라클 프로시저에서 만든 것은
CREATE OR REPLACE PROCEDURE SP_X_MEMBER_GETLOGIN
(
sp_empCode IN VARCHAR2,
sp_password IN VARCHAR2,
out_RESULT OUT sys_refcursor,
O_readboard OUT SALE0003%ROWTYPE,
out_CODE OUT NUMBER,
out_MSG OUT VARCHAR2
)
IS
BEGIN
OPEN out_RESULT FOR
SELECT CUST_ID AS EMP_CODE, CUST_NM AS EMP_NAME, '' AS DEPT_CODE,'1' EMP_GB, PASSWORD, USE_YN
INTO O_readboard
FROM SALE.SALE0003
WHERE CUST_ID LIKE '11%' AND CUST_ID = sp_empCode AND PASSWORD = UTL_I18N.STRING_TO_RAW(sp_password,'AL32UTF8');
out_CODE := 0;
out_MSG := '데이터 확인';
EXCEPTION
WHEN OTHERS THEN
out_CODE := SQLCODE;
out_MSG :=(TO_CHAR(SQLCODE) ||'-'|| SQLERRM);
END ;
-----------------------------------------------------------------------------
Cause: java.sql.SQLException: ORA-06550: 줄 1, 열7:PLS-00306: 'SP_X_MEMBER_GETLOGIN' 호출 시 인수의 갯수나 유형이 잘못되었습니다
ORA-06550: 줄 1, 열7:PL/SQL: Statement ignored
오류가 나옵니다.
기본 프로시저의 개념도 없는지라 부탁드립니다. ㅠ_ㅠ