org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyR

Mybatis异常:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2

这个错误是我在集成SpringBoot项目测试数据库时遇到的问题。这是Mybatis最常见的一个异常TooManyResultsException。

原因:看报错的信息,期待只返回一个结果,什么意思呢,就是代表数据库只有一行对应的信息,但是却查出了2个,数据库查询出的结果集有4列

例如:你写的某个接口根据某个条件查询某个用户,但是调用执行的时候却查询出了多个相同的结果

解决:

  • 情况1:你的SQL返回了多个对象,但是在接收的时候却只有一个对象,可以把这个对象放在List里(例如把接口返回值改成List)
  • 情况2:只返回一个对象,检查你的SQL或者数据是否zhengq
  • 或者你也可以直接手动把你数据库的信息改成只有一条

你可能感兴趣的:(mybatis,spring,apache)