Expected one result (or null) to be returned by selectOne(), but found: (不一定是sql语句返回值类型dao层问题)

多种方法解决Expected one result (or null) to be returned by selectOne(), but found: x 的错误 多种方法解决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或者Expected one result (or null) to be returned by getOne的错误。 阅读详情

如标题所讲,

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

简单明了的报错,一般人在一般情况下想到的就是

 

1.查询一条数据,但返回多条数据:

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

从而回去检查相关的sql语句,sql语句中的返回值,相关的dao层代码。从而获取相关的解决办法,更改类的类型或者返回值类型等

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

但是!当这些问题你全部排查一遍之后,还是会报这种错又是为什么呢?

今天做一个p2p项目,很简单的sql查询语句,出现了如题所示异常错误 —>

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

查看相关的sql语句发现,插入一条数据,紧接着查询该数据,却查到两个结果,而数据库也只有一条数据,跟预想不符。

再看sql语句及相关dao层

并没有发现相关错误

利用debug分析语句时

发现并没有相关查询到两个数据,但是还是报的相同的错误!

这个问题思索了好久,最终的解决办法竟然只是给创建的相关实体类进行序列化!!

------------------------------------------------------------------------------------------

分析问题存在的原因:

1.因为当前做的项目是使用dubbo框架的maven工程,谈到此,可能有些人就应该了然,为什么要进行序列化了!

 

    1)首先,我们需要理解什么是dubbo:Dubbo是一个框架;

     Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案、服务治理方案。

    2)运行dubbo框架的项目中为什么要序列化,

    这是由dubbo相关特性决定的!

 

  •     长连接:避免了每次调用新建TCP连接,提高了调用的响应速度
  •     多路复用:单个TCP连接可交替传输多个请求和响应的消息,降低了连接的等待闲置时间,从而减少了同样并发数下的网络连接数,提高了系统吞吐量。

dubbo RPC主要用于两个dubbo系统之间作远程调用,特别适合高并发、小数据的互联网场景。

而序列化对于远程调用的响应速度、吞吐量、网络带宽消耗等同样也起着至关重要的作用,是我们提升分布式系统性能的最关键因素之一。

2.可是,为什么没序列化会造成类似于我这样的问题呢?

    目前还在思考中。。等我再想想,不好意思

【异常】MyBatis提示TooManyResultsException: Expected one result (or null) to be returned by selectOne() 返回一个结果对象(或空值),但是实际上有多个匹配的返回结果被查询出来了 阅读详情

相关推荐

Trae IDE与Playwright MCP:5分钟实现零代码网页数据抓取

网页数据抓取是数据采集和自动化处理中的基础技术,其核心原理是通过程序模拟浏览器行为,定位并提取页面中的结构化信息。传统方式依赖编写脚本处理网络请求、解析HTML和应对反爬机制,技术门槛较高。而结合AI与自动化工具的新范式,通过自然语言交互即可完成复杂操作,极大降低了技术门槛并提升了开发效率。这种技术价值在于将开发者从繁琐的编码中解放,使其更专注于数据分析和业务逻辑。在数据监控、市场调研、竞品分析等应用场景中,快速获取网页数据是关键需求。本文以Trae IDE集成Playwright MCP为例,演示如何通过

culi3118的博客 498

【错误解决】【mybatis】Expected one result (or null) to be returned by selectOne(), but found:

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

weixin_51733419的博客 3296

千兆以太网PHY设计:PCB原理图完整示例

深入解析千兆以太网PHY电路设计要点,提供完整的PCB原理图设计实例,帮助工程师掌握高速信号布局与电源去耦等关键技术,提升设计稳定性与信号完整性。

weixin_30633869的博客 634

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

通过分析错误可知:需要的查询出一条数据,但是结果却大相径庭,出现的是多条结果(只要不是一条结果就是多条结果),从而应发了TooManyResultsException 错误。 错误截图: 由出现的事故来看,很有可能是 Sql 语句或者数据库方面的问题,从这个地方开始着手,分析我们的问题: 先看一下 resultType 是不是我们对应的数据类型: 你我的问题出现的方式可能不是一样的,所以先检查看看是不是你需要返回的数据类型,同时看看你的 dao 层 接口的返回值类型改了没有。 我的.

潘小蓝的博客 5万+

Flowable任务节点动态预测:基于任务ID与参数获取下一节点及候选分配策略

本文深入探讨了Flowable工作流引擎中任务节点动态预测功能的实现。通过解析任务ID与运行时参数,模拟流程执行路径,精准预测下一节点及候选用户/组集合,从而提升用户体验与系统透明度。核心在于利用自定义命令实现表达式求值,并深度解析候选者分配策略,确保预测结果与实际流程执行一致。

nnn11的博客 742

python控制caxa模块_CAXA二次开发实用手册.doc

您所在位置:网站首页 > 海量文档&nbsp>&nbsp汽车/机械/制造&nbsp>&nbsp机械软件CAXA二次开发实用手册.doc119页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得收...

weixin_39990819的博客 1766

MyBatis Expected one result (or null) to be returned by selectOne(), but found问题解决

问题描述: org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.exceptions.TooManyResultsException:Expectedoneresult(ornull)tobereturnedbyselectOne(),butfound:2 问题分析: 1、当前查询方法定义了只能返回一条数据,但是查询结果却返回了多条数据,导致报错。 ...

旭东怪的博客 8621

gsplat在windows本地部署

3DGS的cuda提效和优化内存的版本gsplat,使得在有一定GPU计算能力的电脑上也能够尝尝3DGS的效果。我在2025年的开年之初尝试配置过gsplat,由于过程中遇到很多问题,最终还是有一些windows上字符编码的问题,没有跑通,最近看gsplat的github更新了3DGUT,优化了反射和二次折射,以及适用于非线性相机模型,如鱼眼相机等。在data目录下下载好了360_v2的数据,进入之后images文件夹是原始分辨率的图像,images_2是下采样系数为2的数据,以此类推。

yuleaf_csdn的博客 2370

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

这个问题同样是在前后端交换数据的时候遇到的一个问题,然后我通过有道翻译给他翻译了一下: 刚开始看到这个对于新手小白来说可能还不能准确的定位到自己的错误,但是这个错误很明显就是在告诉我们: 你想查询多条数据,但是前台限制只能查询一条 这个错误在刚开始并没有出现,是因为我们刚开始的时候可能只是为了测试在数据库中只插入了一条数据,但是随着业务的增加,我们在数据库中加入了新的数据,但是同样的后端...

立志欲坚不欲锐,成功在久不在速度 2万+

把开源 Skills 集成到 LangGraph 项目

1. 定义智能体状态(必须包含 messages,其他字段按需扩展)messages: List[HumanMessage | AIMessage | ToolMessage] # 消息流(核心)skill_output: Optional[str] # 存储 Skill 执行结果next_node: str # 控制流程跳转# 2. 定义智能体决策节点(决定是否调用 Skill)"""智能体决策逻辑:根据用户输入判断是否调用开源 Skill"""# 获取最后一条用户消息。

lpfasd123的博客 902

企业级OpenClaw部署实战:10个关键配置让你从“养虾“到“精通“

OpenClaw(社区昵称"小龙虾")作为2026年开源社区最活跃的AI Agent项目,凭借其多Agent协同架构和企业级安全隔离能力,已成为中大型企业的首选AI基础设施。本文基于真实企业部署经验,系统梳理了企业级OpenClaw部署的10个关键配置:用户ID消息隔离、群组ID消息隔离、多机器人配置、无限量Agent创建、机器人与Agent关联、Agent间调度、权限配置、Hooks任务、多模型切换及一键备份迁移。

program哲学 931

mybatis一对多映射 完美解决Expected one result (or null) to be returned by selectOne(), but found:

今天在进行mybatis学习时 出现了上述错误 在网上看了n篇文章都没有解决 下图是我查询用到的两个表 其中student表中的tid和teacher表中的id通过外键链接​ 在我的xml文件中 我刚开始是这么进行查询的 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://myb...

TIANJIAWEN的博客 1万+

MAC-H3C官网inode客户端下载安装

MAC-H3C官网inode客户端下载安装

兴趣是最好的老师 1万+

关于Expected one result (or null) to be returned by selectOne(), but found: 3。。。。异常

本人找了几个小时 如下: - (13243 ms) - 2017-9-20 00:03:28[DEBUG](FrameworkServlet.java:976) Could not complete request org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.except

libaxuann的博客 5053

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

错误解决:Expected one result (or null) to be returned by selectOne()

Expected one result (or null) to be returned by selectOne(), but found: 2 这句话代表两种情况: 1.你想查询一条数据,但返回两条数据: 2.你想查询多条数据,但是前台限制只能查询一条 (1) 检查自己的数据sql语句写对没有(关于mybaties的sql操作自己百度) (2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据 (3) dao层接口要与mybaties中返回值和

Mark的博客 7万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

看到标题就已经很明了了: 两种情况: 1.你想查询一条数据,但返回两条数据: 2.你想查询多条数据,但是前台限制只能查询一条 (1) 检查自己的数据sql语句写对没有(关于mybaties的sql操作自己百度) (2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据 (3)  dao层接口要与mybati

a1165117473的专栏 5569

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

登录发生问题提出:Expected one result (or null) to be returned by selectOne(), but found: 2

看到标题就已经很明了了: 两种情况: 1.你想查询一条数据,但返回两条数据: 2.你想查询多条数据,但是前台限制只能查询一条 (1) 检查自己的数据sql语句写对没有 (2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据 (3) dao层接口要与mybaties中返回值和接收值都要保持一致 返回多条数据是多个Map,多个Map放在Lis...

m0_46352325的博客 659

Mybatis--错误提示:TooManyResultsException: Expected one result (or null) to be returned by selectOne()

一、问题说明 Mybatis报错大致日志信息 TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found:2大致错误描述 代码中想要查询数据库获取一条数据,但返回两条数据; 二、解决办法 要么检查SQL语句,确保只返回一条语句 Map<Stri...

JustinQin 9496

Expected one result (or null) to be returned by selectOne()

(2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据。返回多条数据是多个Map,多个Map放在List中用List接收返回数据。(1) 检查自己的数据sql语句写对没有(关于mybaties的sql操作自己百度)Mybatis返回的Map是这样的一种格式:Map2.你想查询多条数据,但是前台限制只能查询一条。一个Map对象代表一行数据。

可小辉的博客 3639

SSM模式模糊查询和Expected one result (or null) to be returned by selectOne(), but found: 2

每周一语:因为淋过最大的雨,所以总想为别人撑伞。 模糊查询 经典案例: Controller层 //根据歌名查询 @RequestMapping("/queryByNameMusic") public String queryByNameMusic(String queryMusicName, Model model) { Musics musics = (Musics) musicService.queryByNameMusic(queryMusicName);

qq_51993807的博客 221

运行 Spring Boot 项目时报错:Expected one result (or null) to be returned by selectOne(), but found: 5

org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 5

m0_65371061的博客 2049

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

今天项目报了标题上这个错,花了不少时间解决,现在分享下过程,希望遇到类似问题的朋友能节省点时间。 根据错误提示的意思,是返回值的问题,于是检查了几遍mapper,确认sql语句无误后,又检查了dao中的返回值类型,也正确。那么问题来了,返回值类型正确,也不是resultmap,resulttype的问题,难不成是Mybatis哪里配置出错了?可是我明明之前都还正常。百思不得姐的时候,找了大牛请教,

robertlee000的博客 2789
上一篇: 手写一个JDBC连接池
FlyRman
博客等级 码龄9年 0粉丝 3原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值