[Mybatis] trim

배세훈·2022년 4월 12일
0

MyBatis

목록 보기
3/3

속성


  1. prefix: 실행될 쿼리의 문 안에 쿼리 가장 앞에 붙여준다.
    update board <trim prefix="SET"> username=#{username}, password=#{password}</trim>
  2. prefixOverrides: 실행될 쿼리의 문 안에 쿼리 가장 앞에 해당하는 문자들이 있으면 자동으로 지워준다.
select * from board where id = #{id}
  <trim prefixOverrides="OR"> OR AND TT LIKE '%' || #{searchContent} || '%' </trim>
  1. suffix: 실행될 쿼리의 문 안에 쿼리 가장 뒤에 붙여준다.
    <trim suffix=")"></trim>
  2. suffixOverrides: 실행될 쿼리의 문 안에 쿼리 가장 뒤에 해당하는 문자들이 있으면 자동으로 지워준다.
    <trim suffixOverrides=","></trim>

문법


<select id="test" resultType="user">
	select * from user where id = #{id}
  <trim prefix="AND (" prefixOverrides="OR" suffix=")" suffixOverrides = ";">
    <if test="para1 != null">
      OR para1 = #{data1}
    </if>
    <if test="para2 != null">
      OR para2 = #{data2}
    </if>
    ;
  </trim>
</select>

-> 설명
1) prefix 속성이 'AND'로 되어 있어 맨 앞에 'AND'가 붙습니다.
2) prefixOverrides 속성이 쿼리 중에 'OR' 텍스트를 찾고 찾게되면 'OR' 텍스트를 제거합니다.
3) suffix 속성이 문 맨 마지막에 ')'를 닫아줍니다.
4) suffixOverrides 속성이 문 맨 마지막에 ;를 제거합니다.

SELECT * FROM user WHERE id = #{id} AND ( para1 = #{data1} OR para2 = #{data2} )

profile
성장형 인간

0개의 댓글