QueryGenerator.initQueryWrapper()不支持Lambda表达式 怎么实现模糊查询
时间: 2023-11-27 07:53:43 浏览: 74
C++模糊查询实现
4星 · 用户满意度95%
如果你使用的是 Mybatis-Plus,在使用 Lambda 表达式构造 QueryWrapper 时,是支持模糊查询的。可以通过使用 `like` 方法来进行模糊查询。
例如,如果要查询 name 字段包含 "Tom" 的记录,可以使用以下代码:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().like(User::getName, "Tom");
List<User> userList = userDao.selectList(queryWrapper);
```
以上代码中,`User::getName` 表示获取 User 对象的 name 属性,`queryWrapper.lambda().like()` 方法表示进行模糊查询。
如果你的 Mybatis 版本比较老,不支持 Lambda 表达式,可以使用 Mybatis 提供的 `%` 和 `_` 通配符进行模糊查询。
例如,如果要查询 name 字段包含 "Tom" 的记录,可以使用以下代码:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "Tom");
List<User> userList = userDao.selectList(queryWrapper);
```
以上代码中,`like` 方法表示进行模糊查询,第一个参数是要查询的字段名,第二个参数是要匹配的字符串,可以在字符串中使用 `%` 和 `_` 通配符。例如,`"Tom%"` 表示以 "Tom" 开头的字符串,`"%Tom"` 表示以 "Tom" 结尾的字符串,`"%Tom%"` 表示包含 "Tom" 的字符串。
阅读全文