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

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

如标题所讲,

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.可是,为什么没序列化会造成类似于我这样的问题呢?

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

多种方法解决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的错误。 阅读详情

相关推荐

【异常】MyBatis提示TooManyResultsException: Expected one result (or null) to be returned by selectOne()

返回一个结果对象(或空值),但是实际上有多个匹配的返回结果被查询出来了

奶爸的编程之路,也就一周冷个三天 1745

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

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

潘小蓝的博客 5万+

【错误解决】【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的博客 3290

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、当前查询方法定义了只能返回一条数据,但是查询结果却返回了多条数据,导致报错。 ...

旭东怪的博客 8616

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

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

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

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万+

关于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的博客 5051

错误解决: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万+

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的专栏 5566

登录发生问题提出: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的博客 657

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 9484

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对象代表一行数据。

可小辉的博客 3621

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的博客 218

运行 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的博客 2044

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

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

robertlee000的博客 2786
上一篇: 手写一个JDBC连接池
FlyRman
博客等级 码龄8年 0粉丝 3原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值