less than 1 minute read

취직한 회사에서 mybatis를 사용중이라서 mybatis를 다시 공부하고 사용중인데 코드를 작성하다가 생소한 mybatis문법을 발견해서 작성하는중!

Mybatis 프로시져 호출

1. ResultMap을 Hashmap type으로 선언하기

2. select element의 statementType을 CALLABLE로 설정하기

3. 프로시져 파라미터 중 IN type은 굳이 안써줘도 됨(밑에는 예시라서 씀), OUT type은 선언해줘야 한다!

<select id="selectList" resultType="data" parameterType="data" statementType="CALLABLE">
	{#{RETURN, jdbcType=INTEGER, mode=OUT} =
	 CALL SP_TEST(
		 #{AA	, jdbcType=CHAR		, mode=IN}
		 #{BB	, jdbcType=CHAR		, mode=IN}
		 #{CC	, jdbcType=CHAR		, mode=IN}
		 #{CNT	, jdbcType=DECIMAL	, mode=OUT}	/* count */
		 #{MSG	, jdbcType=VARCHAR	, mode=OUT}	/* message */
	)}
</select>

이렇게 사용하는 이유는 …

프로시져에서 OUT type 변수로 결과를 리턴할 경우 selectList의 결과로는 아무것도 리턴되지는 않지만, 호출할 때 넘겨준 파라미터에 결과를 담아 넘겨준다

리스트로 결과를 받기 위해서 사용한다!

Categories:

Updated:

Comments