728x90
문제
Error attempting to get column 'id' from result set
이런 오류가 발생했다. 너무 어처구니 없는 오류였다.
해결
BEFORE
<select id="loginCheck" resultType="boolean" parameterType="String">
SELECT
id AS id,
email AS email,
name AS name,
nick_name AS nickName,
phone AS phone,
forgot_pw_question AS forgotPwQuestion,
forgot_pw_answer AS forgotPwAnswer
FROM t_identity
WHERE email = #{email}
</select>
AFTER
<select id="loginCheck" resultType="HashMap" parameterType="String">
SELECT
id AS id,
email AS email,
name AS name,
nick_name AS nickName,
phone AS phone,
forgot_pw_question AS forgotPwQuestion,
forgot_pw_answer AS forgotPwAnswer
FROM t_identity
WHERE email = #{email}
</select>
느낀 점
생각 짧았다.. mybatis를 처음 하다보니까 인터페이스에 선언하는 것과 메소드에 선언하는 것을 잠깐 혼동하고 저 sql 문에 해당하는 값이 db에 있으면 true 없으면 false로 출력한다는 생각에만 사로잡혀서 resultType 을 boolean 으로 해놓았다. 그래서 이런 에러가 생겼던 것이었다. HashMap 으로 바꾸니 정상적으로 됐다.