mybatis报错:Expected one result (or null) to be returned by selectOne(), but found: 2

1、问题概述?

在mybatis执行自定义SQL语句时候,没有使用selectOne也报错。

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
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97) ~[mybatis-spring-2.1.1.jar:2.1.1]
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) ~[mybatis-spring-2.1.1.jar:2.1.1]
    at jdk.proxy2/jdk.proxy2.$Proxy69.selectOne(Unknown Source) ~[na:na]
    at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) ~[mybatis-spring-2.1.1.jar:2.1.1]
    at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:89) ~[mybatis-plus-core-3.5.3.2.jar:3.5.3.2]
    at com.baom

TooManyResultsException是MyBatis框架中的一个异常,它表示在执行selectOne()方法时期望返回一个结果(或者是null),但是实际上返回了多个结果。具体而言,报错信息"Expected one result (or null) to be returned by selectOne(), but found: 7"表示在执行selectOne()方法时,期望返回一个结果或者是null,但是实际上返回了7个结果。这个错误通常出现在查询语句中没有正确限定返回结果数量的情况下。 解决这个问题的方法之一是在查询语句中增加限定条数的条件,例如使用"limit 1"来限制只返回一条结果。例如,可以修改查询语句为: ``` UserMain userMain = userService.getOne(Wrappers.<UserMain>lambdaQuery().eq(UserMain::getUserId, id).last("limit 1")); ``` 这样就可以确保只返回一个结果。 另外,除了使用getOne()方法之外,还可以使用list()方法来接收多条结果集。getOne()方法返回一个对象,用于接收一条结果集,而list()方法返回一个集合,用于接收多条结果集。 总结起来,TooManyResultsException表示在执行selectOne()方法时期望返回一个结果(或者是null),但是实际上返回了多个结果。解决这个问题的方法之一是在查询语句中增加限定条数的条件,例如使用"limit 1"来限制只返回一条结果。另外,还可以使用list()方法来接收多条结果集。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ nested exception is org.apache.ibatis.exceptions.TooManyResultsException:Expected one result](https://blog.csdn.net/m0_61682705/article/details/125029333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [TooManyResultsException异常解决](https://blog.csdn.net/m0_45899013/article/details/110430572)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾林小妖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值