org.apache.ibatis.exceptions.TooManyResultsException的异常排查过程

本文主要是介绍org.apache.ibatis.exceptions.TooManyResultsException的异常排查过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在查阅测试环境业务日志中的ERROR级别的日志时,发现了有一个Mybatis相关的异常错误:

2019-08-13 13:41:01,294 DEBUG [org.mybatis.spring.SqlSessionUtils] - <SqlSession
[org.apache.ibatis.session.defaults.DefaultSqlSession@6222f27] was not register
ed for synchronization because synchronization is not active>
2019-08-13 13:41:01,296 DEBUG [org.springframework.jdbc.datasource.DataSourceUti
ls] -
2019-08-13 13:41:01,297 DEBUG [org.mybatis.spring.transaction.SpringManagedTrans
action] - <JDBC Connection [1168197046, URL=jdbc:mysql://192.168.2.74:3306/mes?u
seUnicode=true&amp&characterEncoding=UTF-8&amp&allowMultiQueries=true, UserName=
root@192.168.2.80, MySQL-AB JDBC Driver] will not be managed by Spring>
2019-08-13 13:41:01,299 DEBUG [com.xinhai.mestimingtask.mysql.LogTaskMapper.addL
ogTaskInfo] - <> Preparing: INSERT INTO log_task (menuID,logdate,logValue,use
rID,logModule,addNums,updateNums,delteNums,exceptionInfo,addIds,updateIds,delete
Ids) VALUES (?,?,?,?,?,?,?,?, ?,?,?,?) >
2019-08-13 13:41:01,302 DEBUG [com.xinhai.mestimingtask.mysql.LogTaskMapper.addL
ogTaskInfo] - <
> Parameters: null, 2019-08-13 13:41:01.288(Timestamp), 失败(St
ring), 戴森优能(北京)(String), PLM到MES子件(String), 0(Integer), 0(Integer), 0(I
nteger), 【nested exception is org.apache.ibatis.exceptions.TooManyResultsExcept
ion: Expected one result (or null) to be returned by selectOne(), but found: 2】
(String), 暂无(String), 暂无(String), 暂无(String)>
2019-08-13 13:41:01,339 DEBUG [com.xinhai.mestimingtask.mysql.LogTaskMapper.addL
ogTaskInfo] - <<== Updates: 1>
2019-08-13 13:41:01,340 DEBUG [org.mybatis.spring.SqlSessionUtils] - <Closing no
n transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession
@6222f27]>
2019-08-13 13:41:01,342 DEBUG [org.springframework.jdbc.datasource.DataSourceUti
ls] -

问题产生原因:
查询条件为Null则或数据发生改变缺少限制条件
检查数据库查询那里的代码后发现并无异样,但是这个堆栈信息又将错误非常明晰地指出,一定是Mybatis的SelectOne查询sql,查出了多条记录,原因:设计数据库表之前的理想状态是唯一一条记录,有些条件没有生效,执行sql时将某个查询条件去掉后发现查询出来的的确是2条记录,因为缺少了显示条件,而导致查询出多条数据。
在这里插入图片描述
注意:
sql语句最好先在数据库中进行测试,查看数据条数是否唯一;因为团队开发,会存在一定的测试数据影响测试结果。

这篇关于org.apache.ibatis.exceptions.TooManyResultsException的异常排查过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117949

相关文章

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是