if标签
<select id="queryStudentBySno" resultType="Student" parameterType="int">
<if test="sno!=null and sno > 0">
select * from Student where sno = ${sno}
</if>
</select>
满足test才会执行标签体的语句
where标签
where会自动处理第一个if标签中的 and/or
<sql id="queryStudentBySnoOrSname">
select * from student
<where>
<if test="sno!=null and sno>0">
or sno = #{sno}
</if>
<if test="sName!=null">
or sname = #{sName}
</if>
</where>
</sql>
foreach标签
<select id="queryStudentBySnoArray" resultType="Student" parameterType="int[]">
<foreach collection="array" open="select * from student where sno in(" close=")" separator="," item="sno">
#{sno}
</foreach>
</select>
拼接顺序 open–>#{item}separator…#{item}—>close;
如果参数是数组,约定用array表示该数组
如果参数是集合,约定用list表示