티스토리 뷰
DB/RDB
mybatis invalid comparison: java.util.ArrayList and java.lang.String
055055 2019. 8. 16. 17:39반응형
한동안 JPA로 개발을 하다가 이직하며 오랜만에 mybatis로 개발을 하게 됐다.
기존 레거시 소스를 수정하는 부분이 있었는데 수정 후 아래와 같은 오류가 나타났다.
mybatis invalid comparison: java.util.ArrayList and java.lang.String
왜 발생했을까.. 소스는 이런 형태이다.
변경 전 소스
<if test='"itemList != null and itemList != ""'>
AND ITEM_STATUS IN (${itemList})
<if>
변경 후 소스
<if test='"itemList != null and itemList != ""'>
AND ITEM_STATUS IN
<foreach collection="itemList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if>
itemList는 예전에는 String 타입으로 데이터를 A,B 이런식으로 강제로 넣어 줬었다.
이번에 소스를 수정하게 되며 기존에 java소스단에서 String으로 받던 것을 ArrayList로 받도록 하여 mybatis에서 foreach로 동작하도록
수정 하였다.
원인을 찾는데 다행 스럽게도 그렇게 오래 걸리지는 않았지만 정말 창피하다..
mybatis invalid comparison: java.util.ArrayList and java.lang.String 바로 에러에 답이 있었다..
Collection이기 때문에 itemList는 "" 과 비교가 되지 않는다...아.... comparison... List and String.. 하..
그리하여 itemList.size != 0 으로 수정..
간단하게 생각하여 위에 if문은 제대로 보지 못했던 내 탓이다.. 기존 소스를 수정할 일이 생긴다면 더 자세히 봤어야 했는데 하..
오늘도 이렇게 반성하며 알아갈 수 있어서 다행이다.
반응형
'DB > RDB' 카테고리의 다른 글
MySQL의 격리 수준 (0) | 2022.05.08 |
---|---|
[ORACLE] multiple row update (0) | 2019.10.24 |
[MS-SQL] Begin Tran (0) | 2019.06.13 |
[MSSQL] multiple row update (0) | 2019.05.28 |
[MSSQL] 다른 데이터베이스 데이터 복사 (0) | 2019.05.17 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- MSSQL
- 이펙티브자바
- 그레이들
- effectivejava
- gradle
- 슬랙봇
- 뱅셀 유전자
- vue.js
- 싱글턴
- 업데이트 쿼리
- update query
- 이것이 자바다
- 몽고DB 완벽가이드
- 슬랙 /
- update set multiple
- SpringBoot
- update set multi
- java
- 다중 업데이트
- update query set multiple
- 뱅크샐러드
- Slack
- update query mutiple row
- update query multi row
- 슬랙
- multiple row update
- visual studio code
- springboot https
- spring-boot-starter-data-redis
- 뱅크샐러드 유전자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함