7/07/2008

iBatis + MySQL 삽질

iBatis 와 MySQL 을 처음 이용하는 경우 자주 하는 삽질 중 3가지를 정리해 보았다.

Limit 에서 SQL 연산

MySQL 에서 limit 10, 10이런건 되도 limit ((1-1)*10), 10 이런식은 안된다.
따라서 당근 iBatis 등에서도 혹시라도 PaginatedList 를 쓰지 않고 pageno 와 itemsPerPage 따위의 파라메터를 넘겨서

limit (( $pageno$ - 1) * $itemsPerPage$), $itemsPerPage$

와 같은 식으로 조합하면 에러가 난다. ( 저 자체는 mysql 의 sql 오류지만 단일값이라면 $$ 를 쓰던 ## 를 쓰던 상관없이 둘다 먹힌다 )

ORDER BY 에서의 ## 이용

ORDER BY 쪽에는 ##  로 치환하면 안된다. ## 가  preparedStatement 의 ? 로 치환되어 사용되기 때문인 것 같은데, 단순 텍스트 치환을 위해서는 $$ 로 바꾸어서 사용하면 된다.

Like 구문 조합

MySQL 의 쿼리에서 Like 구문을 쓰는 경우에는 concat('%' , #keyword#, '%') 이런 식으로 조합을 해주는 것이 좋다 ( 실제 쿼리를 where xxx like '%학교%' 이런식으로 하는 경우)

댓글 없음:

댓글 쓰기

요즘 포스팅을 모두 medium쪽으로 하고 있습니다

안녕하세요? 어쩌다보니 그냥 한번 써보기로 한 medium.com 에다가 죄다 최근 포스팅을 하고 있습니다. 현재 도메인인 potatosoft.com 은 제가 대학때인가 사회 취업한지 얼마 안됐을때부터 유지해 온 도메인이고, 블로그 시스템은 그...