mybatis中 if test 写在select后面_前端初学SpringBoot系列(二)使用mybatis完成数据库的查询...
时间: 2024-02-16 19:03:41 浏览: 53
基于mybatis 的简单数据库操作
在 MyBatis 中,`<select>` 标签可以包含多个 `<if>` 子元素,用于根据条件动态生成 SQL 语句。`<if>` 标签的 `test` 属性用于指定条件,如果条件成立,则将 `<if>` 标签中的内容包含在 SQL 语句中。`<if>` 标签通常写在 `<where>` 标签或 `<set>` 标签内部,用于动态生成 WHERE 子句或 SET 子句。
示例代码如下:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM user
<where>
<if test="username != null and username != ''">
AND username = #{username}
</if>
<if test="email != null and email != ''">
AND email = #{email}
</if>
</where>
</select>
```
上面的示例代码中,如果 `username` 不为空,则将 `AND username = #{username}` 包含在 SQL 语句中;如果 `email` 不为空,则将 `AND email = #{email}` 包含在 SQL 语句中。如果 `username` 和 `email` 都为空,则不会生成 WHERE 子句,查询结果将返回所有记录。
阅读全文