728x90
반응형
1. LIKE 검색
보통 MySQL 에서 like 검색을 쓰는 경우, 다음과 같다.
( SELECT * FROM 테이블 명 WHERE 테이블명.name LIKE "%검색할문구%" )
이를 iBatis 안에서 쓸려면 concat 으로 조합해주어야 잘 작동한다.
SELECT * FROM 테이블 명 WHERE 테이블명.name LIKE CONCAT('%',#검색할문구#,'%') |
2. Dynamic SQL
command 로 값을 받아올 때 그 값이 있을 수도 있고 없을 수도 있는데 그것을 dynamic 쿼리를 통해 한번에 처리할 수 있어 효과적이다.
사용 예>
SELECT * FROM 테이블 명 WHERE 1 = 1 <dynamic> <isNotEmpty prepend="AND" property="변수명"> 테이블명.name LIKE CONCAT('%',#검색할문구#,'%') </isNotEmpty> <dynamic> AND 다른 조건들 추가... |
위 예에서 1=1 을 먼저 추가해준 이유는 dynamic 쿼리에서 에러가 있었을 때 여기에 prepend 로 WHERE를 걸었다면 그 문구가 아예 실행이 안되고 다음 AND 다른 조건들 로 넘어가게 된다. 그래서 mysql 문법 상 WHERE 없이 AND가 등장해서 문법에러가 나게 되므로 이를 방지하기 위해 WHERE를 조건을 먼저 주려고 1=1 이라는 것을 넣어 준 것이다.
출처 : http://netholic.tistory.com/99
이거때문에 꽤 애 먹었다 ㅡㅡ.....
728x90
반응형
'SQL > IBATIS' 카테고리의 다른 글
IBatis 시작하기 2 (0) | 2014.02.12 |
---|---|
? and ? 와같은 ibatis 파라미터 두개로 처리하기 (0) | 2014.02.12 |
Ibatis 트렌젝션 사용시 유의점.. (0) | 2014.02.12 |
DynamicQuery 사용법 (0) | 2014.02.12 |
ibatis like 사용법 (0) | 2014.02.12 |
ibatis dynamic query (0) | 2014.02.12 |
ibatis Transaction (0) | 2014.02.12 |
ibatis mysql rownum (0) | 2014.02.12 |