mybatis-plus更新值为null的时候不生效
时间: 2023-10-20 10:25:16 浏览: 544
可以尝试在更新操作时,使用 `set` 方法将对应字段的值显式地设置为 `null`,例如:
```java
UpdateWrapper<Entity> wrapper = new UpdateWrapper<>();
wrapper.set("column_name", null);
wrapper.eq("id", id);
int rows = entityMapper.update(null, wrapper);
```
如果仍然无法解决问题,可以检查一下是不是数据库本身对 NULL 值的处理方式有所限制。
相关问题
mybatis-plus 神通数据库jdbc-type-for-null不生效
mybatis-plus 中的 `jdbc-type-for-null` 属性用于指定当 Java 对象中的某个属性为 null 时,对应的数据库字段所使用的数据类型。该属性可以在全局配置或实体类字段上进行配置。但是在使用时,可能会出现 `jdbc-type-for-null` 不生效的情况,这可能是因为以下原因导致的:
1. 全局配置和实体类字段上都配置了 `jdbc-type-for-null`,但是实体类字段上的配置会覆盖全局配置。
2. 实体类字段上的 `jdbc-type-for-null` 配置被 @TableField 注解中的 `jdbcType` 属性覆盖。
3. 实体类字段上的 `jdbc-type-for-null` 配置被 @TableId、@TableLogic、@Version 注解中的 `jdbcType` 属性覆盖。
4. 在使用 Mybatis-Plus Generator 自动生成实体类时,可能会出现 `jdbc-type-for-null` 配置不生效的情况。此时可以手动修改生成的实体类,或者修改模板文件,在生成代码时加入 `jdbcTypeForNull` 的配置。
以上是 `jdbc-type-for-null` 不生效的一些可能原因,你可以检查一下你的代码是否存在以上问题。
mybatis-plus or的使用
Mybatis-plus-join是一个为解决Mybatis-plus在多表连接查询方面的限制而开发的工具。它通过对Mybatis-plus进行功能升级,使其能够轻松进行多表连接查询,提高开发效率。使用Mybatis-plus-join的方法与Mybatis-plus相同,学习成本较低。你可以通过在项目的pom.xml中引入相应的依赖来使用Mybatis-plus-join。体的依赖配置可以参考文献。在使用Mybatis-plus-join之前,你需要重启启动类来确保配置生效。如果在启动过程中出现错误,可以参考文献中的解决方法。在具体的业务中,你需要使用mapper继承MPJBaseMapper,并可选地使用service继承MPJBaseService和serviceImpl继承MPJBaseServiceImpl来使用Mybatis-plus-join进行查询操作。关于Mybatis-plus的or语法的使用,请提供更具体的问题以便我回答。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Mybatis-plus做连接查询的插件Mybatis-plus-join](https://blog.csdn.net/m0_67400973/article/details/126463252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文