반응형
LIKE문은 일치하는 문자열을 찾기 위해 사용되는문법입니다.
SQL에서 LIKE문을 사용하는 방법은 다음과 같습니다.
SELECT *
FROM board
WHERE title LIKE '%test%'
하지만 MyBatis에서 LIKE 문을 사용하기 위해서는 약간 다른 형태로 사용되며, ORACLE인지, MySQL인지에 따라서도 약간의 차이가 있습니다.
ORACLE
SELECT *
FROM board
WHERE title LIKE '%'||#{searchTitle}||'%'
MySQL (MariaDB)
SELECT *
FROM board
WHERE title LIKE CONCAT('%',#{searchTitle},'%')
Ms-SQL
SELECT *
FROM board
WHERE title LIKE '%'+#{searchTitle}+'%'
MyBatis, MariaDB에서 Like문을 사용하는 예제
<select id="getBoardTotalCnt" parameterType = "java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM board
WHERE <if test="searchType=='title'.toString()">title LIKE '%'||#{searchWord}||'%'</if>
<if test="searchType=='writer'.toString()">writer LIKE '%'||#{searchWord}||'%'</if>
<if test="searchType=='content'.toString()">content LIKE '%'||#{searchWord}||'%'</if>
<if test="searchType=='tc'.toString()">title LIKE '%'||#{searchWord}||'%' OR content LIKE '%'||#{searchWord}||'%'</if>
<if test="searchType==''.toString()">1=1</if>
</select>
반응형
'MyBatis' 카테고리의 다른 글
MyBatis ON DUPLICATE KEY UPDATE: insert Key 중복 시 update 처리 (0) | 2023.09.26 |
---|---|
MyBatis INSERT 쿼리 실행 후 auto_increment 키 값 반환하기 (0) | 2023.06.22 |
[mybatis] springMVC + MyBatis 연동 (스프링MVC + 마이바티스) (0) | 2022.09.10 |
MyBatis 동적 SQL 사용 (예시. 항목 별 정렬) (0) | 2022.07.21 |
[mybatis] mybatis 설정 파일 (0) | 2022.07.21 |