NamedParameterJdbcTemplate LIKE 검색하는 방법
저의 경우 외부 시스템 DB와 연동시
NamedParameterJdbcTemplate
을 자주 사용하곤 합니다. (내부 시스템은 기본적으로 JPA 사용)NamedParameterJdbcTemplate
의 경우에는 파라미터를 Named Parameter
라 불리우는 방식으로 사용하는데 :pram
과 같은 형식으로 콜론을 붙여 사용합니다. 그런데 LIKE 검색의 경우 아래와 같이 사용하는 분들(제 이야기)이 계십니다.
String sql = "SELECT * FROM tbl_attend WHERE LIKE ATTEND_CD LIKE %:attendCode%"; | cs |
그러나 LIKE문 아래와 같은 형태로 사용해야 합니다.
public List<Attend> getAttendList(String attendCode) { String sql = "SELECT * FROM tbl_attend WHERE LIKE ATTEND_CD LIKE :attendCode"; Map<String, Object> params = new HashMap<String, Object>(); params.put("attendCode", "%" + attendCode + "%"); return jdbcTemplate.query(sql, params); } | cs |
급하게 쓰느라 두서 없는 포스팅 끝.