심심한잉여의 잡동사니

[마이바티스/mybatis] 프로시저 호출 및 결과값 반환 방법 본문

코딩일기/마이바티스

[마이바티스/mybatis] 프로시저 호출 및 결과값 반환 방법

심심한잉여 2022. 8. 16. 15:17
반응형

스프링부트와 마이바티스, Mysql을 사용했습니다.

// 서비스 로직(자바)

// 프로시저 호출
repo.callP(Param)
<select id="callP"  statementType="CALLABLE" parameterType="Param">
	{
    	call callP(
        	#{param1, mode=IN, jdbcType=VARCHAR}
            #{param2, mode=IN, jdbcType=VARCHAR}
            #{param3, mode=OUT, jdbcType=VARCHAR}
        )
	}
</select>

위 코드에서 resultType을 따로 설정하여 별도로 받으려고 했으나 빈(Null)값으로 받아져서 당황했었다.

따라서 위와 같이 서비스로직에서 프로시저를 호출하게 되면 OUT으로 하고싶은 param3는 호출을 위한 인자객체인 Param에 대해 반환값이 들어가게 되고 저기서 값을 사용하고 싶으면 

별도로 리턴값을 사용하는 것이 아닌 Param객체를 다시 사용하면 된다.

 

반응형