mybatis in 拼接
时间: 2023-11-16 11:05:51 浏览: 188
mybatis笔记
MyBatis提供了动态SQL功能,可以使用if、choose、when、otherwise、foreach等标签进行SQL语句的拼接。下面举例说明:
假设有一个查询用户列表的SQL,其中包含用户名、性别、年龄三个查询条件,但是这些条件并不是全部必填的,有些条件可能为空,此时就需要动态拼接SQL语句。
```xml
<select id="selectUserList" parameterType="map" resultType="User">
SELECT * FROM user WHERE 1=1
<if test="username != null and username != ''">
AND username like CONCAT('%',#{username},'%')
</if>
<if test="gender != null and gender != ''">
AND gender = #{gender}
</if>
<if test="age != null">
AND age = #{age}
</if>
</select>
```
在上面的示例中,`<if>` 标签会根据条件动态生成SQL语句,如果条件成立,则生成相应的SQL语句,否则忽略该条件。通过这种方式,就可以根据不同的条件动态生成SQL语句,从而实现灵活的查询。
阅读全文