마이바티스 동적 SQL문
- 주로 SQL문의 조건절에서 사용
- 조건절(WHERE절)에 조건을 동적으로 추가
- JSTL과 XML 기반으로 동적 SQL문 작성
- if
- choose(when, otherwise)
- trim(where, set)
- foreach
<where>
<if test='조건식'>
추가구문
</if>
</where>
<!-- 동적 SQL문 -->
<select id="searchMember" parameterType="memberVO" resultMap="memResult">
<![CDATA[
select * from t_member
]]>
<where>
<choose>
<when test="name != '' and name != null and email != '' and email != null">
name=#{name} and email=#{email}
</when>
<when test=" name != '' and name != null">
name=#{name}
</when>
<when test=" email != '' and email != null">
email=#{email}
</when>
</choose>
</where>
order by joinDate desc
</select>
<select id="foreachSelect" resultMap="memResult" parameterType="java.util.Map">
<![CDATA[
select * from t_member
]]>
where name in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
order by joinDate desc
</select>
<insert id="foreachInsert" parameterType="java.util.Map">
insert INTO t_member(id, pwd, name, email)
VALUES
<foreach item="item" collection="list" index="index" separator=",">
(#{item.id}, #{item.pwd}, #{item.name}, #{item.email})
</foreach>
</insert>
<!-- like 검색 -->
<select id="selectLike" resultMap="memResult" parameterType="String">
<![CDATA[
select * from t_member
where
name like '%' || #{name} || '%'
]]>
</select>
'Spring' 카테고리의 다른 글
Spring #7 : 스프링-마이바티스 연동(추가)(230120) (0) | 2023.01.20 |
---|---|
Spring #6 : 스프링-마이바티스 연동(230119) (0) | 2023.01.20 |
Spring #4 : 마이바티스 - 회원 최종(230118) (0) | 2023.01.18 |
Spring #3 : 마이바티스 프레임워크 - 회원 출력/검색/추가/수정/삭제 (230117) (0) | 2023.01.18 |
Spring #2 : 스프링 MVC (230116) (0) | 2023.01.17 |
댓글