IT월급쟁이의 삶

[Spring + Mybatis 에러] java.lang.Integer cannot be cast to java.util.Map 본문

월급쟁이 코딩 스케치북

[Spring + Mybatis 에러] java.lang.Integer cannot be cast to java.util.Map

월급쟁이일상 2024. 9. 11. 15:28

안녕하세요~ 
오늘도 개발하던 중 아래와 같은 에러를 스프링에서 뱉었습니다.
java.lang.Integer cannot be cast to java.util.Map 
 
그냥 오류내용만 보면 아마 Map으로 받아온 것이 뭔가 cast가 제대로 되지 않았다?
그래서 코드를 살펴보았습니다.

int costUnit = Integer.parseInt(selectUnitPrice.get(0).get("test").toString());

Mybatis에서 map으로 리턴받은 값을 selectUnitPrice라는 변수에 map형태로 담게 됩니다.
근데 알고보니 리턴값이 하나일 때는 get으로 항목을 지정해주지 않아도 됩니다.
즉 아래와 같이 고치면 문제없이 해결

int costUnit = Integer.parseInt(selectUnitPrice.get(0).toString());

이렇게 했는데도 에러가 났다.. 물론 동일한 에러.. 음
뭐가 문제일까 하고 봤더니 toString에 문제가 있었다.

int costUnit = Integer.parseInt(String.valueOf(selectUnitPrice.get(0)));

String.valueOf 를 이용해서 다시 변경해주었다.
해결~
 
 
틱톡라이트 앱 신규가입하고 연속 출첵 10일동안하면 3만포인트를 지급합니다!! 은행출금도 바로 가능하니 짜투리 시간을 이용해서 해보세요!
아래링크클릭후 가입진행하세요!!!ㅎㅎ
https://lite.tiktok.com/t/ZS2aMaDfJ/

[기간 한정] 보는 재미로, 버는 재미로! 영상만 봐도, 좋아요만 눌러도, 검색만 해도, 포인트가 차

www.tiktok.com

보는 재미를 버는 재미로! TikTok Lite

간단한 데일리 미션을 완료하고 포인트를 받으세요

www.tiktok.com