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

相关文章

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Java Optional避免空指针异常的实现

《JavaOptional避免空指针异常的实现》空指针异常一直是困扰开发者的常见问题之一,本文主要介绍了JavaOptional避免空指针异常的实现,帮助开发者编写更健壮、可读性更高的代码,减少因... 目录一、Optional 概述二、Optional 的创建三、Optional 的常用方法四、Optio

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤