MyBatis if标签:条件判断
MyBatis if 类似于 Java 中的 if 语句,是 MyBatis 中最常用的判断语句。使用 if 标签可以节省许多拼接 SQL 的工作,把精力集中在 XML 的维护上。
if 语句使用方法简单,常常与 test 属性联合使用。语法如下。
当判断条件为 true 时,才会执行所包含的 SQL 语句。
最常见的场景是在 if 语句中包含 where 子句,例如。
以上代表表示根据网站名称去查找相应的网站信息,但是网站名称是一个可填可不填的条件,不填写的时候不作为查询条件。
可多个 if 语句同时使用。以下语句表示为可以按照网站名称(name)或者网址(url)进行模糊查询。如果您不输入名称或网址,则返回所有的网站记录。但是,如果你传递了任意一个参数,它就会返回与给定参数相匹配的记录。
if 语句使用方法简单,常常与 test 属性联合使用。语法如下。
- <if test="判断条件">
- SQL语句
- </if>
最常见的场景是在 if 语句中包含 where 子句,例如。
- <select id="selectAllWebsite" resultMap="myResult">
- select id,name,url from website
- <if test="name != null">
- where name like #{name}
- </if>
- </select>
可多个 if 语句同时使用。以下语句表示为可以按照网站名称(name)或者网址(url)进行模糊查询。如果您不输入名称或网址,则返回所有的网站记录。但是,如果你传递了任意一个参数,它就会返回与给定参数相匹配的记录。
- <select id="selectAllWebsite" resultMap="myResult">
- select id,name,url from website where 1=1
- <if test="name != null">
- AND name like #{name}
- </if>
- <if test="url!= null">
- AND url like #{url}
- </if>
- </select>