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)