728x90

동적쿼리 2

[Querydsl] 동적 정렬 sort를 위한 OrderSpecifier 클래스

querydsl을 사용하면서 페이징 처리 및 검색기능 추가하고 있었다. 정렬 기능까지 추가하면서, 이것을 동적으로 처리 할 수는 없나? 라는 생각에 OrderSpecifier이라는 클래스를 알게되어 잠깐 기록을 남겨본다. 참고로 정적으로 정렬을 처리하기 위해선 ex) orderBy(user.userId.asc()) 이런식으로 처리를 할 수 있다. 하지만 이렇게 정적으로 박아두면 불편하지 않겠는가? Sort에 대한 부분을 설정해놨다면, 정렬에 대한 부분을 동적으로 활용하고 싶었다. pageRequest에 페이징 처리가 되어있고, sort에 관한 정보를 가져오려고 했으나, getSort()를 읽지 못했다. 인자를 검색보니 OrderSpecifier 이라는 녀석을 이용해줘야하는걸 알아냈음. 명세서를 살펴보니,..

Database 2023.01.19

[MyBatis] 동적 쿼리 LIKE문 적용하기

MyBatis로 동적 쿼리를 적용해보기, 검색해보니 DB마다 쿼리가 조금씩 다르다고함. LIKE문은 보통 Select * from test where num like 'ABC%' 식으로 특정문자를 가지고 있는 형태를 추출하고자 사용하는 경우가 많음. 일단 MyBatis에서 종류별에 대해 차이를 잠깐 보자면 1) MySQL or MariaDB select * from table_name where column_name like cancat('%', #{keyword}, '%') 2) Oracle select * from table_name where column_name like '%'||#keyword#||'%' 식으로 적용 할 수 있다고한다. 그외 MS-SQL나 PostgreSQL에서도 방법은 다를것이..

728x90