일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IntelliJ
- 알고리즘
- 프로그래머스
- 코테
- select
- mybatis
- 다이나믹프로그래밍
- 데이터베이스
- 너비우선탐색
- Spring
- Effective Java
- Database
- 정렬
- 그리디알고리즘
- DP
- Greedy
- SQL
- 백준
- join
- mariaDB
- java
- springboot
- 탐욕법
- 피보나치
- 우선순위큐
- DFS
- db
- 이펙티브자바
- 깊이우선탐색
- BFS
- Today
- Total
목록mybatis (4)
땀두 블로그
오라클에서 날짜에 특정 시간이나 날짜를 더하기 위해 사용하는 Interval 을 마이바티스 상에서 사용하게 되면 오류가 난다. SELECT SYSDATE + (INTERVAL '3600' SECOND) FROM DUAL; 위와 같은 문장은 오라클에서는 실행이 가능하지만 mybatis에서는 다음과 같이 변경해야 한다. SELECT SYSDATE + NUMTODSINTERVAL(3600, 'SECOND') FROM DUAL;
selectkey 를 이용해서 쿼리에서도 아래와 같은 방식으로 사용할 수 있다. SELECT FT_GET_SEQUENCE(#{id}, 'ID', 'N') FROM DUAL 이 값 자체는 map형식으로 파라미터로 넘어가기 때문에 service에서 String id = (String)param.get("id") 와 같은 형식으로 저장할 수 있고, 이것을 controller에서 rtnMap.put("id", map.get("id")); 와 같은 식으로 만들어서 리턴 가능하다.
마이바티스에서 if test절을 사용하여 분기 처리를 할 떄 홑따옴표와 쌍따옴표의 위치를 잘 사용해야 한다. 잘 사용한 예 AND USE_YN = 'Y' 잘못 사용한 예 AND USE_YN = 'Y'
Mybatis에서 쿼리문을 만들 때 재사용을 위해서 다양한 조건문을 사용하는 경우가 있다. 이 때 값이 같은지 다른지 판단하기도 하지만 때로는 부등호를 사용해야 하는 경우도 있다. 이럴 때 기본적으로 절 안에 부등호를 사용할 수 없기 때문에 cdata절을 사용해야 한다. SELECT * FROM TB_USER WHERE SALARY > 100 위와 같은 코드를 작성하면 SALARY > 100 이라는 문장에서 > 가 닫는 태그로 인식하기 때문에 사용이 불가능하다. 그렇기 때문에 CDATA절을 사용해야 한다. SELECT * FROM TB_USER 100]]>