MyBatis if标签:条件判断

MyBatis if 类似于 Java 中的 if 语句,是 MyBatis 中最常用的判断语句。使用 if 标签可以节省许多拼接 SQL 的工作,把精力集中在 XML 的维护上。

if 语句使用方法简单,常常与 test 属性联合使用。语法如下。

  • <if test="判断条件">
  • SQL语句
  • </if>

当判断条件为 true 时,才会执行所包含的 SQL 语句。

最常见的场景是在 if 语句中包含 where 子句,例如。

  1. <select id="selectAllWebsite" resultMap="myResult">
  2. select id,name,url from website
  3. <if test="name != null">
  4. where name like #{name}
  5. </if>
  6. </select>

以上代表表示根据网站名称去查找相应的网站信息,但是网站名称是一个可填可不填的条件,不填写的时候不作为查询条件。

可多个 if 语句同时使用。以下语句表示为可以按照网站名称(name)或者网址(url)进行模糊查询。如果您不输入名称或网址,则返回所有的网站记录。但是,如果你传递了任意一个参数,它就会返回与给定参数相匹配的记录。

纯文本复制
  1. <select id="selectAllWebsite" resultMap="myResult">
  2. select id,name,url from website where 1=1
  3. <if test="name != null">
  4. AND name like #{name}
  5. </if>
  6. <if test="url!= null">
  7. AND url like #{url}
  8. </if>
  9. </select>
腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/GrBU5uEAmT8cFRyB (转载请保留)。
关注下面的标签,发现更多相似文章