Mybatis常用模糊查询方法
时间: 2024-01-17 11:02:39 浏览: 103
Mybatis中常用的模糊查询方法有三种:
1. 使用like关键字进行模糊查询
```xml
<select id="findUserByNameLike" resultType="User">
select * from user where name like '%${name}%'
</select>
```
2. 使用concat函数进行模糊查询
```xml
<select id="findUserByNameLike" resultType="User">
select * from user where concat(name,age) like '%${name}%'
</select>
```
3. 使用正则表达式进行模糊查询
```xml
<select id="findUserByNameLike" resultType="User">
select * from user where name regexp #{name}
</select>
```
其中,第一种方法使用like关键字进行模糊查询,通常使用%作为通配符。第二种方法使用concat函数将多个字段拼接成一个字符串进行模糊查询。第三种方法使用正则表达式进行模糊匹配,通常情况下效率较低,不建议大规模使用。
相关问题
mybatis plus 模糊查询
MyBatis Plus提供了多种方式来实现模糊查询,下面是一些常用的方法:
1. 使用`like`方法:可以通过`like`方法实现模糊查询。示例代码如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("username", "keyWord");
List<User> userList = userMapper.selectList(queryWrapper);
```
这里的`username`是数据库表中的字段名,`keyWord`是要查询的关键字。
2. 使用`likeLeft`或`likeRight`方法:这两个方法分别表示左模糊查询和右模糊查询。示例代码如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("username", "keyWord");
// 或者
// queryWrapper.likeRight("username", "keyWord");
List<User> userList = userMapper.selectList(queryWrapper);
```
这里的`username`、`keyWord`和前面的示例相同,只是使用了不同的方法。
3. 使用`like`方法实现多字段模糊查询:如果要在多个字段中进行模糊查询,可以使用`or`方法结合`like`方法。示例代码如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("username", "keyWord").or().like("email", "keyWord");
List<User> userList = userMapper.selectList(queryWrapper);
```
这里的`username`和`email`分别是要查询的字段名。
这些是常用的模糊查询方法,你可以根据自己的需要选择合适的方法。如果还有其他问题,请继续提问。
Mybatis模糊查询
Mybatis是一种Java持久化框架,它提供了一种简单而强大的方式来进行数据库操作。在Mybatis中,模糊查询可以通过使用通配符或者正则表达式来实现。
通配符查询是指使用特殊字符来代替一个或多个字符,常用的通配符有:
- %:表示任意字符出现任意次数
- _:表示任意单个字符
在Mybatis中,可以使用LIKE关键字结合通配符来进行模糊查询。例如,如果要查询名字以"张"开头的用户,可以使用以下语句:
```
SELECT * FROM user WHERE name LIKE '张%'
```
这样就可以查询到名字以"张"开头的用户。
另外,Mybatis还支持使用正则表达式进行模糊查询。可以使用MySQL的REGEXP关键字来实现。例如,如果要查询名字中包含"张"的用户,可以使用以下语句:
```
SELECT * FROM user WHERE name REGEXP '张'
```
这样就可以查询到名字中包含"张"的用户。
阅读全文