LambdaQueryWrapper 保存空数据
时间: 2023-10-12 20:22:09 浏览: 51
如果你使用的是 MyBatis-Plus 框架提供的 LambdaQueryWrapper 进行数据操作,那么当你使用它的 save 方法保存空数据时,实际上它会将所有字段都插入一遍,只不过值都是 null。
这是因为 MyBatis-Plus 框架默认开启了全局的 insert 的非空字段策略,如果要在保存空数据时忽略这个策略,可以通过设置 insertStrategy 属性来实现,例如:
```java
// 关闭全局的 insert 的非空字段策略
mybatis-plus.global-config.insert-strategy = ignore
```
同时,在使用 LambdaQueryWrapper 进行数据操作时,也可以通过设置 selectStrategy 属性来控制查询时的策略,例如:
```java
// 使用查询时的策略
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.select(User::getName, User::getAge);
wrapper.selectStrategy(QueryStrategy.SELECT);
List<User> userList = userMapper.selectList(wrapper);
```
这样就可以实现在查询时忽略掉空数据的字段了。
相关问题
LambdaQueryWrapper保存
LambdaQueryWrapper是MyBatis Plus框架中的一个查询条件封装类,它提供了一种使用lambda表达式的方式来构建查询条件的方法。通过LambdaQueryWrapper,我们可以在查询中使用lambda表达式来指定查询的条件,例如eq方法用于指定相等条件。LambdaQueryWrapper可以与Page对象一起使用,实现分页查询。
LambdaQueryWrapper 保存null
在使用LambdaQueryWrapper进行数据操作时,如果要保存一个空值,可以使用`null`或者`""`(空字符串)。但是,需要注意的是,如果数据库定义该字段为非空字段,保存`null`会导致保存失败。
一种解决方法是在实体类中对该字段进行注解,如使用`@TableField(value = "field_name", insertStrategy = FieldStrategy.IGNORED)`,该注解中的`insertStrategy`参数指定了插入时的策略,`FieldStrategy.IGNORED`表示插入时忽略该字段。
另一种解决方法是在保存时手动判断该字段是否为`null`,如果为`null`则不进行保存,例如:
```java
if (entity.getFieldName() != null) {
lambdaQueryWrapper.set(entity::getFieldName, entity.getFieldName());
}
```
这样可以避免保存`null`导致的失败。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)