Mybatisplus的queryWrapper的or对字段做函数处理
时间: 2024-02-17 09:00:54 浏览: 60
Mybatis-plus的QueryWrapper中的or方法可以使用Lambda表达式对字段进行函数处理,例如:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.or(i -> Functions.upper(i.getStr("name")).like("%" + keyword.toUpperCase() + "%"))
.or(i -> Functions.length(i.getStr("phone")).gt(10));
```
在这个示例中,我们使用了Lambda表达式对name字段执行了upper函数,对phone字段执行了length函数,并将它们分别放在了两个or方法中,表示或者的关系。这样就可以在查询时对字段进行函数处理了。
相关问题
Mybatisplus的queryWrapper对字段做函数处理
Mybatisplus的QueryWrapper支持通过lambda表达式对字段做函数处理,可以使用QueryWrapper的lambda表达式方法来实现。
例如,我们可以使用lambda表达式方法的方式查询用户表中年龄大于30岁的用户:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.lambda().gt(User::getAge, 30);
List<User> userList = userMapper.selectList(wrapper);
```
如果我们想要对年龄字段做函数处理,比如加上10,可以使用Lambda的apply方法:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.lambda().apply("age+10>{0}", 30); // age+10>30
List<User> userList = userMapper.selectList(wrapper);
```
在apply方法中,我们可以使用SQL语法对字段做各种函数处理,然后使用占位符的方式传递参数。需要注意的是,apply方法中的SQL语句不会被Mybatisplus自动处理,需要自己保证SQL的正确性。
mybatisplus querywrapper
MybatisPlus QueryWrapper是一个用于构建SQL查询条件的工具类,它可以帮助我们快速构建复杂的查询条件,支持链式调用,可以使用lambda表达式进行字段映射,还可以进行分页查询等操作。使用QueryWrapper可以大大简化我们的SQL查询代码,提高开发效率。
阅读全文