#번외_[spring boot] mybatis inser 이후 return 값이 1인 이유 :: 개발/일상_Mr.lee

#번외_[spring boot] mybatis inser 이후 return 값이 1인 이유

Posted by Mr.mandu.
2017. 12. 10. 09:30 개발/spring boot, gradle, mybatis Project

안녕하세요.

저는 기존에 iBatis를 사용해 왔습니다.

iBatis에서는 insert를 한 이후에 return 값이

해당 시퀀스 및 일련번호가 return 됩니다.


예를들어

	 <insert id="boardAdd" parameterType="lee.domain.BoardVO">
	 	<selectKey resultType="java.lang.Long"   keyProperty="blt_rsrc_sno"  order="BEFORE">
			select seq_ck_blt_rsrc.nextVal  from dual
		</selectKey>
	 	insert into ck_blt_rsrc (
	 		blt_rsrc_sno
	 	)
	 	values(
	 		#{blt_rsrc_sno}
	 	)
	 	
	 </insert>

이런식으로 했을 경우 

blt_rsrc_sno가 저절로 return 값으로 나왔습니다.


하지만! myBatis는 나오지 않는다는 사실 입니다.


mybatis는 retrun 값을

long inertRowCnt =boardMapper.boardAdd(boardVO); 

return inertRowCnt == 0 ? 0 : boardVO.getBlt_rsrc_sno();


이런식으로 불러와야 합니다.

만약 Map을 쓴다면

map.get("필드"); 이런식으로 불러와야 할 것입니다.

변수로 넘겨순 class에 자동으로 값이 주입된다는게 놀랍네요.

iBatis만 해오다 너무 삽질을 했네요.