MyBatis动态SQL
作用:可以根据传入参数动态执行不同的SQL语句
MyBatis提供了一些标签可以实现在XML文件中动态定义SQL语句
<if test=""></if>
<choose>
<when test=""></when><when test=""></when>
<otherwise></otherwise>
</choose>
<foreach></foreach>
<where> : 等价于一个where关键字;去除条件前面多余的and或or
典型:组合查询;动态更新;批量删除
where示例:
select * from cn_note
<where>
<if test="title不为空">
cn_note_title like ?
</if>
<if test="status不为空">
and cn_note_status_id=?
</if>
<if test="beginDate不为空">
and cn_note_create_time>?
</if>
<if test="endDate不为空">
and cn_note_create_time<?
</if>
</where>
update cn_note
set cn_note_status_id=?
where cn_note_id=?
update cn_note
set cn_note_title=?,
cn_note_body=?
where cn_note_id=?
update cn_note
set cn_notebook_id=?
where cn_note_id=?
delete from cn_note
where cn_note_id in
<foreach collection="ids" item="id"
seperator="," open="(" close=")">
#{id}
</foreach>
(1,2,3,4,5)