一个for循环,循环查询十遍数据库的一张表信息,每次循环会有1秒钟延迟。
在这十秒内,我用数据库软件,把这张表一个字段的参数修改了,但是java代码查询的依旧是修改之前的参数怎么解?
有没有可能是系统直接全查出来了,每次延迟一秒给你打印的还是原来查询的值,又或者是事务方面的问题,有点类似,银行取钱的时候,同时微信提现
你在数据库里改了后,有没有执行commit?
如果没有执行commit,那么你改的数据只是在本会话生效,其他会话就还是你改之前的数据
缓存,因为每次查询都是同一个sql,所以不从数据库中取数据,直接在缓存中取,所以即使你循环100次,还是相同的结果。
问题总结sqldverloper运行完修改删除新增等代码后需要点击一下提交,java端才可以查到