mybatis模糊查询动态sql语句
时间: 2025-01-29 22:19:47 浏览: 57
在MyBatis中,模糊查询是一种常见的查询方式,通常用于根据部分匹配条件来查找数据。为了实现模糊查询的动态SQL语句,可以使用MyBatis提供的动态SQL标签和OGNL表达式。
以下是一个示例,展示了如何在MyBatis中构建模糊查询的动态SQL语句:
假设我们有一个用户表(users),包含id、name和email字段。我们希望根据用户名称进行模糊查询。
1. 首先,定义一个Mapper接口:
```java
public interface UserMapper {
List<User> selectUsersByName(String name);
}
```
2. 然后,在对应的Mapper XML文件中编写SQL语句:
```xml
<mapper namespace="com.example.UserMapper">
<select id="selectUsersByName" parameterType="String" resultType="com.example.User">
SELECT id, name, email
FROM users
<where>
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
</where>
</select>
</mapper>
```
在这个示例中,我们使用了`<where>`标签来自动处理WHERE子句中的AND关键字。`<if>`标签用于判断传入的参数`name`是否为空或空字符串。如果`name`不为空,则在SQL语句中添加模糊查询条件`name LIKE CONCAT('%', #{name}, '%')`。
这样,当调用`selectUsersByName`方法时,如果传入的`name`参数不为空,MyBatis会自动生成带有模糊查询条件的SQL语句。
阅读全文
相关推荐











