mybatis plus 的lambda表达式
时间: 2023-12-07 15:39:06 浏览: 255
Mybatis Plus的lambda表达式是一种更加简洁、易读的方式来构建Mybatis的查询条件。相比于传统的写法,使用lambda表达式可以避免手写SQL语句时出现的拼写错误,同时也可以更加方便地使用实体类的属性名来进行操作。
以下是一个使用Mybatis Plus的lambda表达式进行查询的例子:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getName, "张三").gt(User::getAge, 18);
List<User> userList = userMapper.selectList(wrapper);
```
在这个例子中,我们使用了LambdaQueryWrapper来构建查询条件。LambdaQueryWrapper是Mybatis Plus提供的一个用于构建查询条件的类,它支持使用lambda表达式来指定查询条件。
在LambdaQueryWrapper中,我们可以使用实体类的属性名来指定查询条件。例如,`User::getName`表示查询条件为`name = '张三'`,`User::getAge`表示查询条件为`age > 18`。
最后,我们调用`selectList`方法来执行查询,并将查询结果保存在一个List中。
相关问题
mybatis-plus lambda表达式
MyBatis-Plus是MyBatis的增强工具,在MyBatis的基础上增加了许多实用的功能,其中包括Lambda表达式查询。Lambda表达式是Java 8中引入的一种新的语法,可以简化代码,使代码更加易读。在MyBatis-Plus中,我们可以使用Lambda表达式来构建查询条件,从而避免手写SQL语句。
使用Lambda表达式查询需要先引入MyBatis-Plus的依赖,然后在实体类中使用@TableLogic注解标注逻辑删除字段,接着就可以使用LambdaQueryWrapper或LambdaUpdateWrapper来构建查询条件。LambdaQueryWrapper用于查询,LambdaUpdateWrapper用于更新。
Lambda表达式查询的语法类似于SQL语句,例如:
```
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getName, "张三").or().eq(User::getName, "李四");
List<User> userList = userMapper.selectList(wrapper);
```
这段代码的意思是查询名字为“张三”或“李四”的用户列表。
除了eq方法,LambdaQueryWrapper还提供了很多其他的查询方法,例如gt、lt、ge、le、like等,可以根据需要选择使用。
mybatis-plus not like lambda表达式
MybatisPlus 中的 notLike 方法也可以使用 lambda 表达式来进行条件查询。
以下是 notLike 方法使用 lambda 表达式示例:
```java
LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<>();
wrapper.notLike(User::getName, "Tom");
List<User> userList = userMapper.selectList(wrapper);
```
上述代码将查询出所有 name 字段不包含 "Tom" 的 User 记录。
如果您希望查询出 name 字段不以 "Tom" 开头的记录,可以使用 notLikeRight 方法:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.notLikeRight(User::getName, "Tom");
List<User> userList = userMapper.selectList(wrapper);
```
上述代码将查询出所有 name 字段不以 "Tom" 开头的 User 记录。
阅读全文