Etc

mybatis 쿼리 작성시 유의사항

SuperDT 2024. 10. 13. 20:30


mybatis 동적 쿼리 작성시

편의를 위해서 where 1=1이나 <where></where> 태그를 사용하면

의도하지 않은 테이블 Full scan이 발생할 수 있습니다

 

왠만하면

의미 있는 조건문 하나를 추가하여 작성할 수 있도록 하는게 좋습니다

SELECT ID AS id,
NAME AS name,
CREATE_AT AS createAt
FROM TB_USER
WHERE 
CREATE_AT = #{createAt, jdbcType=TIMESTAMP}
<if test="name != null and name != ''">
	AND NAME LIKE CONCAT('%', #{name}, '%')
</if>