`

Ibatis 查询结果问题

    博客分类:
  • WARN
阅读更多
整合Struts&Spring&Ibatis时,交付项目前,工程部测试数据竟让报错了:
错误:
SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Error: executeQueryForObject returned too many results.; nested exception is java.sql.SQLException: Error: executeQueryForObject returned too many results.

晕!
分析:
看看报错信息:
java.sql.SQLException: Error: executeQueryForObject returned too many results.
也就是sql返回的结果多了,如果有多条返回结果,不应该用executeQueryForObject,应该用executeForObjectList.
再思:但是我要的就是一个对象。
仔细分析,QueryForObject方法返回的是一个对象,大前提方法没错。
报异常了,是不是有多个对象啊?

看看控制台输出的信息,的确是Services层报错,拷贝Sql语句执行,果然返回两个相同对象,那就整整sql语句吧,去除不必要的关联。
重启,OK!
分享到:
评论
2 楼 songfantasy 2010-12-27  
谢谢,我也遇到同样问题。
1 楼 songfantasy 2010-12-27  
谢谢,我也遇到同样问题。

相关推荐

    ibatis 用HashMap解决resultClass映射

    ibatis 用HashMap解决Ibatis未知列名和列数的查询结果的resultClass映射

    主子表查询ibatis

    使用ibatis配置的主子表关联查询的实例,一对多关系,在控制台打印,有log4j的使用,打印结果详细,(码云同步)

    ibatis多对多关系(详细)

    一份非常详细的讲解文档,从建表到Ibatis配置文件,再到dao代码全部都有

    idea-mini-ibatis.jar

    iBATIS和其他持久化框架,如Hibernate之间的显著区别在于,iBATIS强调使用SQL,而其他的框架通常使用一个自定义的查询语言,具有Hibernate查询语言(HQL)或Enterprise JavaBeans的查询语言(EJB QL)。

    JQuery的启发-教你如何二次处理及优化IBatis和Hibernate的查询结果集

    NULL 博文链接:https://ffychina.iteye.com/blog/1541973

    iBatis SQL Maps开发指南.pdf

    例子3:用预赋值的结果对象查询成对象(select) 例子4:查询成对象List(select) 例子5:自动提交 例子6:用结果集边界查询成对象List(select) 例子7:用RowHandler执行查询(select) 例子8:查询成Paginated ...

    iBATIS实战

    1.4 iBATIS如何解决数据库的常见问题 20 1.4.1 所有权与控制 20 1.4.2 被多个分散的系统访问 21 1.4.3 复杂的键和关系 21 1.4.4 数据模型的去规范化或过度规范化 22 1.4.5 瘦数据模型 23 1.5 小结 24 第2章 iBATIS...

    ibatis 缓存配置策略

    • iBatis对查询结果集进行本地缓存。 • Cache的key由haskcode、checksum、查询参数、sqlmap Id、sql语句、调用方法名等构成。由此可以看出,不同的参数会有不同的Key。注意,他不是以查询参数的Class的hashcode或 ...

    iBATIS介绍入门

    iBATIS是以SQL为中心的持久化层...iBATIS能将输入的普通POJO对象、Map、XML等映射到SQL的条件参数上,同时也可以将查询结果映射到普通POJO对象(集合)、Map、XML等上面。 iBATIS使用xml文件来映射这些输入以及输出。

    一个程序员的自省 iBATIS In Action:什么是iBATIS(二)

    2.5 iBATIS快速上手 iBATIS框架非常简单,它上手起来同样简单。有多简单呢?使用iBATIS只要五分钟我们就可以创建...下面这个例子将配置一个简单的静态SQL语句,查询一个简单的数据表,将结果输出到控制台,效果如下:

    IBATIS实用记录

    3.3.3 在指定对象中存放查询结果(select) 7 3.3.4 执行批量查询 (select) 7 3.3.5 关于AutoCommit 7 3.3.6 查询指定范围内的数据 7 3.3.7 结合RowHandler进行查询(select) 7 3.3.8 分页查询 (select) 7 3.3.9 基于...

    整合spring+ibatis+easyui的一个后台管理系统

    整合了spring,ibatis,easyui的一个后台管理系统,实现了数据的增删改功能,界面采用easyui,可针对用户表进行添加,删除,修改操作,使用log4j可以输出sql及查询结果日志,控制台显示sql与查询结果,数据库采用...

    Spring数据库访问之iBatis

    而iBatis可以为我们做的更多,比如对查询结果的封装等等。虽然不如全自动SQL方便,但是SQL的主动权却在我们开发人员的手中,对SQL优化的掌控则是很直接的。对于Hibernate和iBatis的其它讨论,不是我们探究的范围。...

    SSI+EXT (Struts2+Spring+Ibatis+Ext)

    Struts2+Spring+Ibatis+Ext,ext光是实现了登陆! 业务主要是简单的实现了两张表的增删改查!还有对查询的结果了Ibatis的分页,据库是Sql Server 2000!

    iBATIS 帮助文档

    SQL Maps (com.ibatis.sqlmap.*)......................................................................................................5 SQL Map的概念........................................................

    mybatis乱码的解决方法

    mybatis乱码的解决方法 gbk iso-8859-1 ibatis3乱码

    MyBatis 3 开发指南(中文版)

    MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀的持久层框架,它消除了几乎所有的JDBC代码、对参数的手工设置以及对结果集繁琐的处理,使用简单的XML或注解(annotation)用于配置和映射,将接口和POJO...

    mybatis 最佳实践

    MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。 MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 ...

    40道MyBatis面试题带答案(很全)

    MyBatis前身叫iBatis,本是Apache的一个开源项目,2010年由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月又迁移到Github。 MyBatis通过简单的XML或注解方式配置和原始映射,将...

Global site tag (gtag.js) - Google Analytics