mybatis 的 <where>标签的作用,麻烦举例说明
时间: 2024-11-08 17:07:54 浏览: 13
MyBatis 中的 `<where>` 标签主要用于在 SQL 查询条件中添加动态过滤条件,允许你在运行时根据业务需求构建复杂的查询语句。这个标签通常放置在 `select`、`update` 或 `delete` 等操作的 SQL 映射语句中。
例如,在一个用户列表查询的例子中:
```xml
<select id="getUserList" parameterType="map" resultType="User">
SELECT * FROM users
<where>
<if test="id != null">id = #{id}</if>
<if test="name != null">AND name like CONCAT('%', #{name}, '%')</if>
<if test="isActive">AND is_active = 1</if>
</where>
</select>
```
在这个例子中,`<where>` 包裹了几个 `<if>` 标签,它们根据传入的参数动态构建查询条件。如果传入 `id` 参数,则会添加 `id = #{id}`;如果传入 `name`,则会加上名字模糊匹配的条件;如果 `isActive` 参数为真,还会加入 `is_active = 1` 条件。这样,当调用这个方法并传入不同的参数时,可以生成不同的 SQL 语句执行相应的数据库查询。
阅读全文