解决 Expected one result (or null) to be returned by selectOne(), but found: 2

这个问题同样是在前后端交换数据的时候遇到的一个问题,然后我通过有道翻译给他翻译了一下:

刚开始看到这个对于新手小白来说可能还不能准确的定位到自己的错误,但是这个错误很明显就是在告诉我们:

你想查询多条数据,但是前台限制只能查询一条

这个错误在刚开始并没有出现,是因为我们刚开始的时候可能只是为了测试在数据库中只插入了一条数据,但是随着业务的增加,我们在数据库中加入了新的数据,但是同样的后端方法,导致这个错误出现

解决办法:

(1)检查自己的数据sql语句写对没有(关于mybaties的sql操作自己百度)

(2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据

(3)  dao层接口要与mybaties中返回值和接收值都要保持一致

这里我用的是List:

Mapper文件:这里的类型不能添加List ,就要使用原本的类型

 Dao层:

Service层:

controller层:

这样进行了修改之后,我们数据库中的多条数据,就可以返回成功了! 

我们可以通过Swagger来看一下

成功!