Mybatis中关于:Statement returned more than one row, where no more than one was expected.

来源:互联网 发布:epub手机阅读软件 编辑:程序博客网 时间:2024/05/19 02:20
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.      
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75) ~[MyBatisExceptionTranslator.class:1.2.2]      
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371) ~[SqlSessionTemplate$SqlSessionInterceptor.class:1.2.2]
Caused by: org.apache.ibatis.executor.ExecutorException: Statement returned more than one row, where no more than one was expected.      at org.apache.ibatis.executor.ResultExtractor.extractObjectFromList(ResultExtractor.java:58) ~[ResultExtractor.class:3.2.8]      at org.apache.ibatis.executor.loader.ResultLoader.loadResult(ResultLoader.java:71) ~[ResultLoader.class:3.2.8]
由于查找出了多个对象,一般查找的那个字段是数据有重复。
程序期望返回不超过一行数据,但实际返回了多于一行的数据。


比如sql语句的返回类型是非集合类型,但返回了多行数据。Statement returned more than one row, where no more than one was expected.
之前调接口没有这样的问题,后来有人在数据库的表中加了新数据,才导致出现该问题,优化后解决。
1 1