<selectid="findByIf"resultType="com.wcc.pojo.Student">
SELECT * FROM student WHERE
<iftest="name != null and name != ''">
name LIKE concat ('%',#{name},'%') AND
</if></select>
2 . where标签
<selectid="findByWhereAndIf"resultType="com.wcc.pojo.Student">
SELECT * FROM student
<where><iftest="id != null">
id > #{id}
</if><iftest="name != null and name != ''">
AND name LIKE concat('%',#{name},'%')
</if><iftest="age != null">
AND age > #{age}
</if></where>
3. choose ,when otherwise
<selectid="findByChoose"resultType="com.wcc.pojo.Student">
SELECT * FROM student
<where><choose><!--如果id不为空,则按照这个条件执行sql语句--><whentest="id != null and id != 0">
id > #{id}
</when><!--如果id为空,name不为空,则按照这个条件执行sql语句--><whentest="name != null and name != ''">
name LIKE concat('%',#{name},'%')
</when><!--以上条件都不满足,则按照如下条件,执行sql语句--><otherwise>
age IS NOT NULL
</otherwise></choose></where></select>
4. set和if标签动态更新数据库
<updateid="updateStudent">
UPDATE student
<set><iftest="name != null and name != ''">
name = #{name}
</if><iftest="age != null and age!= 0">
age = #{age}
</if></set>
WHERE id = #{id}
</update>
5. foreach 标签
<insertid="insertManyByForeach">
INSERT INTO student(name,age) VALUES
<!--collection:集合的名称 separator,下面的循环体以什么符号隔开
item: 循环的元素 open="(" close=")" :循环体以什么包裹起来
--><foreachcollection="students"separator=","item="student">
(#{student.name},#{student.age})
</foreach></insert><deleteid="deleteManyByForeach">
DELETE FROM student WHERE id IN
<foreachcollection="list"item="id"separator=","close=")"open="(">
#{id}
</foreach></delete>