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