상세 컨텐츠

본문 제목

[MyBatis] invokeJoinpointUsingReflection 에러

개발/Database

by 대충고양이짤 2015. 6. 15. 18:10

본문

문제 상황


Mybatis + MariaDB 연동을 했는데 아무런 이유 없이, 에러 없이 getCount 값을 읽어오지 못하였다.

디버깅을 해보니 내부에 invokeJoinpointUsingReflection Exception이 발생하고 끝나 버렸는데. 




문제 파일


test.xml


<select id="getCount" parametertype="java.lang.String" resultType="java.lang.Integer">

SELECT COUNT(*) FROM testvalue

WHERE valueID = #{valueID}

</select>



test.java


@Override public long getCount(String valueID) throws Exception { long cnt = 0; cnt = (long)query.selectOne(Name + "getCount", valueID); return cnt; }





문제 원인


형 변환이 제대로 되지 않은 것이 문제였다.

test.java에서 보듯, count 한 값은 long 형으로 받게 되어 있다.

하지만 test.xml의 resultType은 integer 형으로 되어 있어서 에러가 발생한 것 같다.




문제 해결


test.xml


<select id="getCount" parameterType="java.lang.String" resultType="java.lang.Long">

SELECT COUNT(*)

FROM testvalue

WHERE valueID = #{valueID}

</select>


관련글 더보기

댓글 영역