| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- DFS
- 데이터베이스
- 코테
- 이펙티브자바
- 너비우선탐색
- 프로그래머스
- 알고리즘
- IntelliJ
- springboot
- 백준
- mariaDB
- 우선순위큐
- Greedy
- 그리디알고리즘
- DP
- Database
- 정렬
- 다이나믹프로그래밍
- join
- mybatis
- db
- 깊이우선탐색
- SQL
- 탐욕법
- Effective Java
- select
- Spring
- java
- 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]]>