麻烦大神帮忙解析一下Mybatis 抛出TooManyResultsException后的奇怪现象

LJM_OS 发布于 2018/03/29 09:24
阅读 601
收藏 0

Mysql数据库(PS:其他数据库未验证过),数据库中某和表有两条一样的记录,使用Mybatis查询返回一条的时候抛出:TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2的异常,当使用navicat把其中一条数据删除后,再次通过应用查询的时候竟然还是查到两条记录,继续抛出:TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2的异常。一级缓存已设为STATEMENT、二级缓存,数据库查询缓存已关闭还是一样。对此表示非常困惑!!!

加载中
0
LJM_OS
LJM_OS

是因为事务的问题,加上事务控制就不会出现这种情况了。

0
蓝水晶飞机
蓝水晶飞机

这种情况,都是你的SQL语句查询有问题,查询返回数据行>1,selectOne 就会检查这种不合适的做法,抛出异常。

0
罗祥
罗祥

你删除之后没有commit

0
quiet_spring
quiet_spring
查单个对象的时候加个limit 1美滋滋
返回顶部
顶部