Mybatisplus的queryWrapper对字段做函数处理
时间: 2023-12-16 20:02:57 浏览: 127
mybatis-plus 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的正确性。
阅读全文