
UpdateWrapper和LambdaUpdateWrapper
UpdateWrapper`和`LambdaUpdateWrapper`都是MyBatis-Plus提供的封装SQL语法的工具类,它们的主要区别在于构造条件的方式不同。综上所述,`LambdaUpdateWrapper`具有更加简洁、类型安全、灵活的优势,在日常开发中更常用。
·
`UpdateWrapper`和`LambdaUpdateWrapper`都是MyBatis-Plus提供的封装SQL语法的工具类,它们的主要区别在于构造条件的方式不同。
`UpdateWrapper`使用传统的getter/setter的方式构造查询条件,需要手动指定字段名,如:
```java
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("name", "Tom")
.gt("age", 18)
.set("email", "tom@example.com");
```
而`LambdaUpdateWrapper`则可以使用Lambda表达式构造查询条件,不需要手动指定字段名,具有更高的类型安全性和代码的可读性,如:
```java
LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(User::getName, "Tom")
.gt(User::getAge, 18)
.set(User::getEmail, "tom@example.com");
```
另外,`LambdaUpdateWrapper`还可以通过方法`setSql`来添加自定义的SQL语句,如:
```java
LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(User::getName, "Tom")
.setSql("age = age + 1");
```
综上所述,`LambdaUpdateWrapper`具有更加简洁、类型安全、灵活的优势,在日常开发中更常用。
更多推荐
所有评论(0)