MyBatis异常处理org.apache.ibatis.executor.ExecutorException

Posted FserSuN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis异常处理org.apache.ibatis.executor.ExecutorException相关的知识,希望对你有一定的参考价值。

由于测试缘故,数据库被加入了很多测试数据。再次执行原来的查询出现了异常org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Statement returned more than one row, where no more than one was expected.

通过描述可以看到,期待返回结果数应该小于等于1,但却返回多条记录。开始由于查询返回的对象是A,检查了一下A发现没有重复记录,随后发现A类内部有成员B。

class A
    B b;

而在Mapper中的定义的Sql中查询b是返回唯一的结果,而不是一个List。因此是在查询b的时候造出现了异常。最后清理掉数据,异常解决。 所以当遇到这种异常时候不但要关注查询返回结果时候唯一,还要注意所查询的结果中包含的成员对象是否允许有多个。

以上是关于MyBatis异常处理org.apache.ibatis.executor.ExecutorException的主要内容,如果未能解决你的问题,请参考以下文章

spring-mybatis整合项目 异常处理

关于Mybatis的java.lang.UnsupportedOperationException异常处理

mybatis 异常处理:Invalid bound statement (not found)

mybatis-ehcache整合中出现的异常 ibatis处理器异常(executor.ExecutorException)解决方法

mybatis 异常处理:Invalid bound statement (not found)

mybatis 异常处理:Invalid bound statement (not found)