WEB/MyBatis
[MyBatis] 오류: java.util.LinkedHashMap cannot be cast to java.lang.String
_yoonie
2023. 6. 13. 14:28
java.util.LinkedHashMap cannot be cast to java.lang.String
말 그대로 LinkedHashMap을 String으로 바꿀 수 없다는 오류다.
LoginService에서 로그인 성공 시, 당일 해당 프로젝트에서 첫 로그인했을 경우를 가져오도록 했다.
int isFirstLogin = Integer.parseInt((String)dao.selectObj("Statistics.historyLogRecent", userUpdateMap));
dao.selectObj("Statistics.historyLogRecent", userUpdateMap)
여기에서 LinkedHashMap을 return하고 있으므로, myBatis에서 returnType을 수정한다.
//변경 전
<select id="historyLogRecent" parameterType="map" timeout="0" resultType="java.util.LinkedHashMap" useCache="false">
SELECT count(1) as "CNT"
FROM HISTORY_LOG
WHERE HISTORY_DT > CURRENT_DATE
</select>
//변경 후
<select id="historyLogRecent" parameterType="map" timeout="0" resultType="string" useCache="false">
SELECT count(1) as "CNT"
FROM HISTORY_LOG
WHERE HISTORY_DT > CURRENT_DATE
</select>
728x90