我所使用的是Mybatis+SpringBoot,其他环境排除方法类似。
一、查看SQL语句
要解决问题,先要直到问题所在。
这就需要查看一下mapper生成的SQL是什么样的
需要在application.properties文件中加入以下字段:
logging.level.实体类所在的包路径=debug
如:
如果发现SQL语句有问题,可以查看参数中是否有那些参数是错误的,加以修改。
二、确认SQL语句没问题
问题很可能在于没有找到主键
需要在对应的实体类的主键加上注解:@Id
注意:是javax.persistence下的id,而非org.springframework.data.annotation下的
三、如果还有问题
考虑一下是不是测试数据的问题,如类型、原值与新值全相等,看起来像更新失败。
可以输出update的结果(失败是0,成功是1)以查看