请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

2回答

甲蛙 2023-12-20 22:04:32

你可以把update后面的where条件复制下,写成select语句,看用这些where能查出数据吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕娘2225497 #1
    用xml的select语句打印出来也是空,但是如果直接用sql语句在mysql上查询是可以查出数据的
    回复 有任何疑惑可以回复我~ 2023-12-20 23:00:26
  • 甲蛙 回复 提问者 慕娘2225497 #2
    用sql语句在mysql上可以查出数据,就说明库里是有数据的,要么是你xml里的sql写得有问题,要么是程序和手工执行的不是同一个库。
    还有一位同学出现过:手工插入了数据,但是没有提交,程序就读不到
    回复 有任何疑惑可以回复我~ 2023-12-23 19:43:55
  • 提问者 慕娘2225497 回复 甲蛙 #3
    xml的sql语句是复制您的代码的,执行的库也检查了无误,因为同个方法中(afterDoConfirm)其他对数据库的更新操作是生效的,只有updateCountBySell这个操作不生效。另外也检查了mysql版本为8.0.33,autocommit为打开状态。
    回复 有任何疑惑可以回复我~ 2023-12-27 20:06:38
提问者 慕娘2225497 2023-12-20 14:24:43

更正一下,是dailyticket无法更新,测试了xml语句没有问题,系统也不报错,但就是不更新。因为rds到期我改用自己的本地数据库,不知是否跟这个有关系?

0 回复 有任何疑惑可以回复我~
  • 甲蛙 #1
    IDEA有个Mybatis Log Plugin,安装这个插件,可以将mybatis的sql日志转成可运行的sql,拿着sql到控制台去执行看是不是update 0条
    回复 有任何疑惑可以回复我~ 2023-12-28 09:35:50
  • 老师,updateCountBySell我也有类似的问题, 日志打印了显示update 3条,但是下一次查询数据库的值就是没有变化,但是一样的update语句放到navicat里面执行是没有问题的
    我也是本地启动的MySQL,版本是8.0.20
    回复 有任何疑惑可以回复我~ 1天前
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信