LIKE검색 기능을 만들던 중
쿼리도 잘짠거같고
HTML에서 Action으로 넘긴 값도 Controller에 잘 출력되는데
왜 오류가 나는거지? 했는데...!
<select id="selectSearchResult" parameterType="String" resultType="searchVO">
select
찾는 내용이 있는 컬럼
from
table1
where
찾는 내용이 있는 컬럼 like '%${keyword}%'
</select>
어디서 오류가 난거지 했더니!..
mybatis에서 받아온 parameter로 검색할땐 %와 떼어놔 줘야 인식한다는걸 깨달았다..!!
따라서
<select id="selectSearchResult" parameterType="String" resultType="searchVO">
select
찾는 내용이 있는 컬럼
from
table1
where
찾는 내용이 있는 컬럼 like "'%'+${keyword}+'%'"
</select>
'%${keyword}%' => "'%'+${keyword}+'%'"
로 바꿔주면 오류가 나지 않고 해결 된다!
여기를 바꿔줘도 오류가 난거면..
본인이 사용하는 DB툴에 저 쿼리를 검색 해보길 바란다.
쿼리 결과가 잘 출력이 안된다면 where절을 지우고 해보고
where절의 조건을 다시 작성 해보는걸 추천.
쿼리 결과가 잘 출력이 된다면..
아래 항목을 체크해보길 바람.
controller에서 sql로 넘길적에 올바른 변수를 넘겼는가?
html에서의 name값과 controller에 getParamer의 이름과 같은가?
를 잘 체크 해보길 바람.
'SQL(MySQL, ORACLE)' 카테고리의 다른 글
[MySql]MySql에서 삼항연산하기 (0) | 2022.04.08 |
---|---|
[Mybatis][MySql] insert, update, delete에 selectKey 넣기 (0) | 2022.04.07 |
[MySQL][mybatis]쿼리 두 개 실행 시키기 (0) | 2022.03.31 |