마구니 패치 노트

SQL 쿼리 파라미터 바인딩 %?% 문제

puy0 2023. 3. 3. 03:45

LFG 서비스의 검색기능을 구현하는 중이다

무언가를 조회 할때 파라미터의 값이 정확히 일치 해야만 조회가 가능한

단순한 select문을 검색 기능에 적용하면

검색기능이 너무 불편할것이다

 

예를들어 스팀 멀티 게임 overcooked! 2 를 검색 하고 싶다면

cooked 만으로도 검색이 가능 하여야 한다

 

이 기능을 구현하기위해 Like 를 사용하여 부분 일치 조회를 사용,

바인딩될 단어의 앞 뒤에 %를 사용하여  바인딩 될 단어가 게임이름의 어느 위치에 있는지는

상관없이 조회가 가능하도록 하고 싶었다

 

String sql 문자열에 검색할 파라미터를 바인딩할때 %를 사용하면

'' 때문에 생기는 오류 때문에 시간을 많이 잡아먹었다

sql 문자열에 % 를 입력하는것이 아니라

바인딩할 때 % 같이 쥐어주게되면 '' 를 밖으로 감쌀수 있었다

 

전
전 결과
후 결과

setString할때 고정된값(%)을 포함하여 바인딩 하는방식으로 문제를 해결했다