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 '%학교%' 이런식으로 하는 경우)

댓글 없음:

댓글 쓰기

UIUC MCS-DS첫번째 날 시작

오늘이 학생들에게 UIUC MCS-DS 의 코세라 수업이 할당되고 공식적으로 일정이 시작된 (Aug 27, 2018) 첫날이다. 아직까지 기존에 공개되어 있어 진도를 나갈 수 있었던 specialization 클래스들의 진행상황이 MCS-DS 과정으...