使用Mybatis的updatebyprimarykeyselective方法更新不成功的解决方案

本文指导解决Mybatis配合SpringBoot中SQL问题,包括查看SQL、确认主键注解、测试数据验证。重点讲解如何定位和修复常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我所使用的是Mybatis+SpringBoot,其他环境排除方法类似。

一、查看SQL语句

要解决问题,先要直到问题所在。
这就需要查看一下mapper生成的SQL是什么样的
需要在application.properties文件中加入以下字段:

logging.level.实体类所在的包路径=debug

如:
在这里插入图片描述


如果发现SQL语句有问题,可以查看参数中是否有那些参数是错误的,加以修改。

二、确认SQL语句没问题

问题很可能在于没有找到主键
需要在对应的实体类的主键加上注解:@Id
注意:是javax.persistence下的id,而非org.springframework.data.annotation下的

三、如果还有问题

考虑一下是不是测试数据的问题,如类型、原值与新值全相等,看起来像更新失败。
可以输出update的结果(失败是0,成功是1)以查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值