Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Annotation
- route53
- 두개리스트비교
- enumtype
- 리스트교집합
- 리스트차집합
- 리스트합집합
- Spring
- hashset
- 지옥같은git
- anymatch메서드
- Java
- string_agg()
- list중복제거
- awsconsole
- 널포인터에러
- mybatis
- PostgreSQL
- 권한정책
- wordpress블로그
- ansible
- WordPress
- enum
- 중복제거
- lightsail
- 리스트비교
- db
- AWS
- 3tierarchitecture
- instance생성
Archives
- Today
- Total
Anyway
[JAVA] Enum Type XML에서 if문 작성하기 본문
🫨기존 코드
클라이언트로부터 받는 branch의 값이 A면 t_a_raw 테이블을 조회하고
B면 t_b_raw 테이블을 조회하는 것이 목표
참고로 branch 필드의 type은 ENUM Type이다.
SELECT
...
...
...
FROM
<if test="branch == 'A'">
t_a_raw
</if>
<if test="branch == 'B'">
t_b_raw
</if>
이렇게도 작성해보고
SELECT
...
...
...
FROM
<if test="branch.valueOf('A')">
t_a_raw
</if>
<if test="branch.valueOf('B')">
t_b_raw
</if>
저렇게도 작성해보고 equals도 써보고 다 해봤는데
먼저 branch.valueOf('A')과 같이 작성하게 되면
➡️ if문이 모두 참으로 동작되어 a테이블도 b테이블도 나와버리게 됨.
조건문의 동작을 전혀 하지 않고 있음.
이후 branch == 'A'와 같이 작성한 경우
➡️ org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: com.ddimtech.llmops.common.DataBranch and java.lang.String ### Cause: java.lang.IllegalArgumentException: invalid comparison: com.ddimtech.llmops.common.DataBranch and java.lang.Strin
이러한 에러가 발생.
결국 해결
...
...
FROM
<if test="branch.name() == 'A'">
t_a_raw
</if>
<if test="branch.name() == 'A'">
t_b_raw
</if>
.name()으로 꺼내서 비교하니 잘 먹었다.
휴 오늘의 삽질 끝...!
'Java' 카테고리의 다른 글
[JAVA] anyMatch 메서드 사용하기 (0) | 2024.11.13 |
---|---|
[JAVA] list null체크 또는 isEmpty() (1) | 2024.09.27 |
[JAVA] HashSet을 이용하여 list 중복값 제거하기 (0) | 2024.09.24 |