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
'WEB > MyBatis' 카테고리의 다른 글
[MyBatis] #{}과 ${}의 차이 (0) | 2023.06.15 |
---|---|
[MyBatis] <sql>, <include> 사용하기 (0) | 2022.09.02 |