LambdaUpdateWrapper和LambdaQueryWrapper的区别
时间: 2023-10-12 09:04:51 浏览: 429
LambdaUpdateWrapper和LambdaQueryWrapper是MyBatis Plus提供的两个实用类,用于构建SQL更新条件和查询条件。
LambdaQueryWrapper用于构建查询条件,可以通过链式调用方法来添加各种查询条件,如等于、不等于、大于、小于、模糊查询等。使用LambdaQueryWrapper可以避免手写SQL语句,同时提供了类型安全的编程方式,减少了出错的可能性。
示例代码:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getName, "Alice")
.ne(User::getAge, 18)
.like(User::getEmail, "@gmail.com");
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码使用LambdaQueryWrapper构建了一个查询条件,通过eq方法指定了name等于"Alice",ne方法指定了age不等于18,like方法指定了email包含"@gmail.com"的条件。最后调用selectList方法执行查询。
LambdaUpdateWrapper用于构建更新条件,与LambdaQueryWrapper类似,也可以通过链式调用方法来添加各种更新条件。使用LambdaUpdateWrapper可以方便地更新数据,也提供了类型安全的编程方式。
示例代码:
```java
LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(User::getName, "Bob")
.eq(User::getAge, 20);
int affectedRows = userMapper.update(null, updateWrapper);
```
上述代码使用LambdaUpdateWrapper构建了一个更新条件,通过set方法指定了将name更新为"Bob",eq方法指定了age等于20的条件。最后调用update方法执行更新。
总结起来,LambdaQueryWrapper用于构建查询条件,而LambdaUpdateWrapper用于构建更新条件。它们都提供了一种便捷和类型安全的方式来构建SQL条件,使得代码更加简洁和易于维护。但是它们在功能和用途上是不同的,一个用于查询,一个用于更新。
阅读全文