`
三角杀手王
  • 浏览: 10140 次
社区版块
存档分类
最新评论

Ibatis调用时发生StackOverflowError

阅读更多
我的程序
public CompanyDO findCompany(String domain, Boolean isHz) {
  Map params = new HashMap();
  params.put("domain", domain);
  params.put("isHz", isHz);
  return (CompanyDO) getSqlMapClientTemplate().queryForObject(
"COMPANY.findCompany", params);



配置文件
  <select id="findCompany" resultMap="CompanyResult">
   select * from COMPANY c where c.domain = #domain:VARCHAR#
<isEqual property="isHz" compareValue="true">
and c.type='isHz'
</isEqual>
<isEqual property="isHz" compareValue="false">
and c.service_type not in ('isHz')
</isEqual>
</select>


在调用的时候突然发生了一次StackOverflowError

Exception : java.lang.StackOverflowError
at java.security.AccessController.doPrivileged(Native Method)
at java.io.PrintWriter.(PrintWriter.java:77)
at java.io.PrintWriter.(PrintWriter.java:61)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.SqlTagContext.(SqlTagContext.java:42)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.process(DynamicSql.java:77)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.getParameterMap(DynamicSql.java:61)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:156)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:561)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:536)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:93)
at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:239)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:189)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:237)
at com.xxx.xxx.xxx.company.dao.ibatis.BaseCompanyDaoImpl.findCompany(BaseCompanyDaoImpl.java:258)


后面就不可重现了,我想请问下什么时候可能发生这样的错误,谢谢大家
分享到:
评论

相关推荐

    ibatis调用oracle存储过程分页

    ibatis调用oracle存储过程分页

    iBatis调用存储过程

    iBatis调用存储过程

    IBATIS调用存储过程

    在服务类中调用iBATIS时,我们需要创建一个`HashMap`来存储参数,并将结果映射到适当的Java对象。对于Cursor结果集,通常会映射到一个列表,如`List&lt;DjRy&gt;`。这里需要注意,处理Cursor结果集时,通常需要自定义一个...

    ibatIS调用存储过程

    ibatIS调用存储过程是数据库操作中常见的一种技术,特别是在复杂的业务逻辑处理或数据批量操作时,存储过程能够提供更高的效率和更好的性能。本文将深入探讨如何在ibatIS框架中调用存储过程,以及涉及到的相关知识点...

    ibatis调用存储过程.txt

    根据提供的文件信息,标题为“ibatis调用存储过程”,主要关注的是如何使用ibatis框架来调用数据库中的存储过程。下面将详细解释ibatis框架的基本概念、存储过程的概念以及如何在ibatis中配置和执行存储过程。 ### ...

    ibatis调用存储过程

    当我们需要调用数据库中的存储过程时,iBATIS也提供了一种简便的方法。本篇文章将详细介绍如何在iBATIS中调用存储过程,包括带参数和不带参数的存储过程,并通过一个具体的例子进行说明。 首先,存储过程是预编译的...

    ibatis调用存储过程介绍

    在Java开发中,使用iBATIS(现在称为MyBatis)作为持久层框架时,调用数据库的存储过程是一种常见的需求。本文将详细介绍如何使用iBATIS调用存储过程,并提供一个简单的示例来说明其过程。 首先,我们需要在数据库...

    ibatis调用oracle存储过程

    在IT领域,特别是数据库操作与Java开发中,利用ibatis框架调用Oracle存储过程是一个常见的需求,这不仅能够提升代码的执行效率,还能增强应用程序的安全性。本文将深入解析ibatis如何与Oracle数据库中的存储过程进行...

    Ibatis调用存储过程调用存储过程

    ### Ibatis调用存储过程详解 #### 一、引言 在实际的软件开发过程中,存储过程因其执行效率高及数据库级别的安全性等优点被广泛应用于各种业务场景之中。而对于使用Ibatis作为持久层框架的应用来说,如何有效地...

    Ibatis调用Oracle存储过程返回自定义类型

    ### Ibatis调用Oracle存储过程返回自定义类型 在企业级应用开发中,尤其是在金融、保险等业务场景中,往往需要处理复杂的数据结构与逻辑。本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现...

    ibatis调用oracle的函数,存储过程的方法

    Ibatis,一个轻量级的Java持久层框架,提供了与数据库交互的能力,包括调用这些Oracle的函数和存储过程。本篇文章将详细介绍如何在Ibatis中调用Oracle的函数和存储过程。 首先,理解基本概念: 1. **Oracle函数**...

    ibatis调用oracle的函数,存储过程的方法 IN 和OUT /游标

    在iBatis中,当存储过程返回一个游标时,你可以将其映射为一个Java List。为此,你需要在Java方法中声明一个List类型的参数,而在SQL映射文件中,使用`&lt;resultMap&gt;`定义一个结果集映射,然后在`&lt;selectResult&gt;`标签...

    配置ibatis3.0时,发生的小错误

    在配置iBatis3.0时,可能会遇到各种小错误,这些错误往往由于不正确的配置、依赖缺失或者编码问题导致。以下是对这个主题的详细解释。 首先,让我们了解iBatis是什么。iBatis是一个优秀的持久层框架,它允许开发者...

    ibatis官方中文文档

    此外,文档还特别强调了如何通过iBATIS来调用存储过程,这是数据库操作中的一个重要特性,尤其是在处理复杂逻辑或批量操作时。 **iBATIS-SqlMaps-2-Tutorial_cn.pdf** 作为教程,这份文档提供了逐步指导,帮助读者...

    IBatis查删改查与调用存储过程 mysql数据库

    "IBatis查删改查与调用存储过程 mysql数据库" 这个标题揭示了本文将深入探讨如何使用IBatis框架在MySQL数据库中执行基本的CRUD(创建、读取、更新、删除)操作,以及如何调用存储过程。IBatis是一个轻量级的Java持久...

    记一次Ibatis的意外发生.docx

    在配置IBatis时,可能会出现各种错误。例如,在配置SqlMapClient时,可能会出现Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: classpath resource [sql-map-config.xml...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 在编写SQL时,应避免使用全模糊匹配`LIKE '%text%'`,而应尽可能使用带有前缀或后缀的模糊匹配,如`LIKE 'text%'`,这可以显著提升查询效率。 - 使用`EXISTS`子查询通常比直接关联查询更高效,尤其是在数据量大...

    ibatis demo,ibatis例子,ibatis示例

    通过这个demo,你可以了解到Ibatis的基本用法,如何编写SQL映射文件,如何设计Mapper接口,以及如何在Java代码中调用这些接口执行数据库操作。同时,也能掌握Ibatis的动态SQL特性,以及如何配合Spring进行更高效的...

    iBATIS-DAO-2.3.4.726.rar_com.ibatis.dao_iBATIS dao 2_iBatis DAO_

    iBATIS DAO是Java开发中的一个持久层框架,它提供了数据访问对象(DAO)的实现,使得数据库操作更加简单和灵活。在这个2.3.4.726版本的源码中,我们可以深入理解iBATIS DAO的工作原理,并通过添加注释来帮助我们更好...

Global site tag (gtag.js) - Google Analytics