티스토리 뷰
스프링 프레임워크(Spring Framework)
[스프링,MyBatis] java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
xemaker 2018. 5. 30. 14:23[스프링,MyBatis] java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
아 테스트할때 에러가 안나서 잘 되는지 알았는데 나중에 알고 보니 null을 리턴해서 되는 거였다.
하지만 제대로 String 값이 있을 경우는
java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
이런 에러가 났었다.
흠.. 제대로 코딩, 확인, 테스트 안하고 했을때는 이런 예상치 못한 재앙(?)이 올 수 있다.
MyBatis 코딩할 시 그냥 기존거 복사해서 했더니 제대로 resultType을 못봐서.. ㅜㅜ
<select id="getXX" resultType="Map">
을
<select id="getXX" resultType="String">
이렇게 써주니까 될줄 알았는데.. 안됐다..
별 삽질을 다 해봤다. 이상하다.. 기존에
<select id="getXX" resultType="String">
이렇게 쓴것도 있는데 왜 안되지..
그래서 그냥
<select id="getXX" resultType="Map">
이렇게 써야 하나 생각하다가
<select id="getXX" resultType="java.lang.String">
이렇게 하니까 되었다.
java.lang을 붙여줘야 하나.. 아니 기존에 String만 쓴것도 있는데..
다시
<select id="getXX" resultType="String">
이렇게 하니까 이제야 되었다.
흠..
뭔가 이클립스에서 갱신이 잘 안되었던것 같다.
이클립스를 껏다가 켜봤는데도 안되던데...
클린(Clean)을 한번 해볼걸 그랬나...
여기서 갑자기 드는 생각이 resultType을 안넣어도 되나? 하는 의문이 들어 해봤다.
org.mybatis.spring.MyBatisSystemExeption: nested exception is org.apache.ibatis.executor.ExecutorException:
A query was run and no Result Maps were found for the Mapped Statement 'com.xx.xxx'.
It's likely that neither a Result Type nor a Result Map was specified.
에러메시지에 답이 나와 있다.
Result Type 이나 Result Map이 없는것 같아 보인다.
결론은 select 에서는 Result Type 이나 Result Map은 반드시 써야 하는것 같다.
아 테스트할때 에러가 안나서 잘 되는지 알았는데 나중에 알고 보니 null을 리턴해서 되는 거였다.
하지만 제대로 String 값이 있을 경우는
java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
이런 에러가 났었다.
흠.. 제대로 코딩, 확인, 테스트 안하고 했을때는 이런 예상치 못한 재앙(?)이 올 수 있다.
MyBatis 코딩할 시 그냥 기존거 복사해서 했더니 제대로 resultType을 못봐서.. ㅜㅜ
<select id="getXX" resultType="Map">
을
<select id="getXX" resultType="String">
이렇게 써주니까 될줄 알았는데.. 안됐다..
별 삽질을 다 해봤다. 이상하다.. 기존에
<select id="getXX" resultType="String">
이렇게 쓴것도 있는데 왜 안되지..
그래서 그냥
<select id="getXX" resultType="Map">
이렇게 써야 하나 생각하다가
<select id="getXX" resultType="java.lang.String">
이렇게 하니까 되었다.
java.lang을 붙여줘야 하나.. 아니 기존에 String만 쓴것도 있는데..
다시
<select id="getXX" resultType="String">
이렇게 하니까 이제야 되었다.
흠..
뭔가 이클립스에서 갱신이 잘 안되었던것 같다.
이클립스를 껏다가 켜봤는데도 안되던데...
클린(Clean)을 한번 해볼걸 그랬나...
여기서 갑자기 드는 생각이 resultType을 안넣어도 되나? 하는 의문이 들어 해봤다.
org.mybatis.spring.MyBatisSystemExeption: nested exception is org.apache.ibatis.executor.ExecutorException:
A query was run and no Result Maps were found for the Mapped Statement 'com.xx.xxx'.
It's likely that neither a Result Type nor a Result Map was specified.
에러메시지에 답이 나와 있다.
Result Type 이나 Result Map이 없는것 같아 보인다.
결론은 select 에서는 Result Type 이나 Result Map은 반드시 써야 하는것 같다.
'스프링 프레임워크(Spring Framework)' 카테고리의 다른 글
[스프링] @RequestBody Server returned HTTP response code: 400 (0) | 2018.03.16 |
---|---|
[스프링] cannot be resolved to a type (0) | 2018.02.27 |
[스프링] Spring hello world 예제 (0) | 2017.12.26 |
스프링 파일 업로드 (0) | 2017.12.05 |
스프링 크론탭 crontab 예약작업 배치파일 실행하는 방법 (0) | 2017.06.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ocajp
- JDBC
- C언어
- esql
- proc
- C
- EC
- 이클립스
- XE3
- MySQL
- ocjap
- 포인터
- 라이믹스 모듈
- 플러터
- 파싱
- webix
- 자바
- XE
- 인포믹스
- xe addon
- php
- Python
- 파이썬
- xe애드온
- 자바 smtp
- KG
- 스크래핑
- 문자열
- 프로씨
- 오라클
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함