版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_36146275/article/details/79762312
标签 | 解释以及应用场景 |
---|---|
<if> | 与java的条件判断f语句实现效果一样; 应用场景:常用于判断参数状态 <if test="params != null and params != ''">动态拼接的sql</if> |
<where> | 语意与mysql的where语句效果一样; 应用场景:开发中用得比较少,基本不用 使用例子: <where>product_id < 100</where> 一般会使用以下sql代替<where>标签: select * from product where 1 = 1 and product_id < 100 |
<foreach> | 应用场景:前一个查询结果作为后一个查询的条件 使用例子: 前一个查询结果: SELECT film_id FROM film; 保存到List filmList集合中作为后一个查询的条件: SELECT * FROM film_actor WHERE film_id IN <foreach collection="filmList" item="item" index="index" open="(" separator="," close=")">#{item}</foreach>; <foreach>标签参数说明: collection:集合的名称; item:遍历时使用的别名; index:索引时使用的别名; open:以什么符号开始包围参数 separator:分隔符 close:以什么符号结果包围 |
<choose><when><otherwise> | 等同于java的if(exprt){}else if(exprt) {}else ;应用场景:需要递进式的判断,其实也可用<if>代替 使用例子: SELECT * FROM BLOG WHERE state = 'ACTIVE' <choose><when test="title != null">AND title like #{title}</when><when test="author != null and author.name != null">AND author_name like #{author.name} </when><otherwise>AND featured = 1</otherwise></choose> |