MyBatis的TooManyResultsException错误的解决方法
MyBatis的TooManyResultsException异常的解决办法
今日再开发遇到了这样的一个异常:Expected one result (or null) to be returned by selectOne(), but found: 2
详细的异常信息如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
2017-03-3115:44:24,640ERROR method:com.baikeyang.bapi.modules.user.service.impl.LoginServiceImpl.login(LoginServiceImpl.java:156)-用户登录时发生异常
org.mybatis.spring.MyBatisSystemException:nested exception isorg.apache.ibatis.exceptions.TooManyResultsException:Expected one result(ornull)tobe returned by selectOne(),but found:2
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:76)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:399)
at com.sun.proxy.$Proxy13.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:165)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
at com.sun.proxy.$Proxy14.selectAlarmCountData(Unknown Source)
at com.baikeyang.bapi.modules.alarm.service.impl.AlarmServiceImpl.getAlarmCountData(AlarmServiceImpl.java:25)
at com.baikeyang.bapi.modules.user.service.impl.LoginServiceImpl.getAlarmCountData(LoginServiceImpl.java:185)
at com.baikeyang.bapi.modules.user.service.impl.LoginServiceImpl.login(LoginServiceImpl.java:131)
at com.baikeyang.bapi.web.controller.LoginController.login(LoginController.java:39)
at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.baikeyang.bapi.filter.MethodFilter.doFilter(MethodFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:610)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1777)
at java.lang.Thread.run(Thread.java:662)
Caused by:org.apache.ibatis.exceptions.TooManyResultsException:Expected one result(ornull)tobe returned by selectOne(),but found:2
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66)
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:386)
...48more
|
从上面的异常信息,可以了解到下面两种情况:
1.你想查询一条数据,但返回两条数据:
2.你想查询多条数据,但是前台限制只能查询一条
(1) 检查自己的数据sql语句写对没有(关于mybaties的sql操作自己百度)
(2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据
(3) dao层接口要与mybaties中返回值和接收值都要保持一致
例:返回map数据
返回多条数据是多个Map,多个Map放在List中用List<Map<String,String>>接收返回数据
Mybatis返回的Map是这样的一种格式:Map<字段名称,字段值>
一个Map<字段名,字段值>对象代表一行数据
原解决方法博文地址:http://www.cnblogs.com/zcleilei/p/6245617.html
相关推荐
- SpringBoot+Mybatis-Plus+lombok整合 1.介绍篇 2.创建项目 3.pom文件中引入相关的依赖 4.基础代码准备 5.准备就绪,开始真正体验Mybatis-Plus
- Eclipse和MyEclipse常出现的错误总结 1. Myeclipse中导入的项目中按住快捷键(ctrl)键进行联想时,无法联想。解决方案:(1)可能缺少jar包,导包;(2)找.project文件,在其中加入如下代码:
- 关于mysql的access denied 错误解决方案
- 用grunt搭建自动化的web前端开发环境-完整教程 1. 前言 2. 安装nodejs 3. 安装grunt-CLI 4. 创建一个简单的网站 5. 安装grunt 6. 配置Gruntfile.js 7. Grunt插件介绍 8. 使用uglify插件(压缩javascript代码) 9. 使用jshint插件(检查javascript语法错误) 10. 使用csslint插件(检查css语法错误) 11. 使用watch插件(真正实现自动化) 12. 上文中所谓的“build” 13. 批量安装插件 14. 系统文件结构 15. 完结
- 【转】解决IIS7该问.svc文件的错误问题
- C /CLI思辨录[阅读记录] C /CLI思辨录之拷贝构造函数(避免多个实例在相同的堆对象的错误处理) C /CLI思辨录之内部指针的两面性 C /CLI思辨录之再谈继承(.Net仅支持public继承。但是当一个类被public继承,则基类的保护成员将对新的派生类成为private的。) C /CLI思辨录之传递托管堆地址(pin_ptr禁止垃圾收集器改变在堆上的对象的地址。)
-
Mybatis 的
标签用法 prefix prefixOverrides suffix suffixOverrides - Selenium 开启headless时报unknown error: DevToolsActivePort file doesn't exist错误的其中一种解决方案
- Rsync数据同步服务 Rsync数据同步服务 Rsync缺点 远程复制命令 Rsync服务搭建 用户 组 程序安全设置 客户端连接数 超时时间 进程号文件位置 进程锁 日志文件位置 使用目录 有错误时忽略 可读可写(true或false) 阻止远程列表(不让通过远程方式看服务端有啥) 允许IP 禁止IP 虚拟用户 存放用户和密码的文件 Rsync搭建过程 Rsync客户端先检查有没有rsync软件包 Rsync同步测试 Rsync指定端口推送
- git 版本控制器 初学习,工作中的问题及其解决方法 1. 下载安装git控制器 3. 创建版本库 以下是我遇到的问题以及解决方法
- 阿里云首推免费人脸识别SDK 让每个APP轻便拥有短视频AR特效
- 从新解析REST服务