通过Ibatis返回一个字符串;一直报错!配置如下:
sqlMap:
<parameterMap id="pm_in_applyKobei" class="java.util.Map">
<parameter property="userId" javaType="int" jdbcType="INTEGER"
mode="INOUT" />
<parameter property="rtnStr" javaType="string" jdbcType="varchar"
mode="INOUT" />
</parameterMap>
<procedure id="duankoo_validKooBei"
parameterMap="pm_in_applyKobei">
{call duankoo_validKooBei(?,?)}
</procedure>
procedure:已经在分析器里面调试通过;
javaCode:
public String applyKoBei(Integer userId) {
String rtnStr = "";
HashMap map = new HashMap();
map.put("userId", 2);
map.put("rtnStr", rtnStr);
this.getSqlMapClientTemplate().queryForObject("integral.duankoo_validKooBei",map);
return (String)map.get("rtnStr");
}
一直报错:
Exception in thread "main"
org.springframework.jdbc.UncategorizedSQLException: SqlMapClient
operation; uncategorized SQLException for SQL []; SQL state [HY092];
error code [0];
--- The error occurred in com/duankoo/apps/dao/integral/integral.xml.
--- The error occurred while executing query procedure.
--- Check the {call duankoo_validKooBei(?,?)}.
--- Check the output parameters (register output parameters failed).
--- Cause: java.sql.SQLException: Invalid java.sql.Types constant value
-99999999 passed to set or update method.; nested exception is
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/duankoo/apps/dao/integral/integral.xml.
--- The error occurred while executing query procedure.
--- Check the {call duankoo_validKooBei(?,?)}.
--- Check the output parameters (register output parameters failed).
--- Cause: java.sql.SQLException: Invalid java.sql.Types constant value
-99999999 passed to set or update method.
最后查实错误原因: jdbcType="varchar"
应该为 : jdbcType="VARCHAR"
大写!
分享到:
相关推荐
ibatIS调用存储过程是数据库操作中常见的一种技术,特别是在复杂的业务逻辑处理或数据批量操作时,存储过程能够提供更高的效率和更好的性能。本文将深入探讨如何在ibatIS框架中调用存储过程,以及涉及到的相关知识点...
### Ibatis调用存储过程详解 #### 一、引言 在实际的软件开发过程中,存储过程因其执行效率高及数据库级别的安全性等优点被广泛应用于各种业务场景之中。而对于使用Ibatis作为持久层框架的应用来说,如何有效地...
在调用存储过程时,Ibatis允许开发者编写SQL语句或存储过程,然后在XML配置文件中定义这些操作,使得调用过程直观且易于维护。 Blazeds是一个Flash Remoting解决方案,主要用于Flex和Java之间的数据通信。通过...
### Ibatis调用Oracle存储过程返回自定义类型 在企业级应用开发中,尤其是在金融、保险等业务场景中,往往需要处理复杂的数据结构与逻辑。本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现...
Ibatis,一个轻量级的Java持久层框架,提供了与数据库交互的能力,包括调用这些Oracle的函数和存储过程。本篇文章将详细介绍如何在Ibatis中调用Oracle的函数和存储过程。 首先,理解基本概念: 1. **Oracle函数**...
4. **存储过程调用**:演示如何在IBatis中调用MySQL的存储过程,包括传递参数和接收返回值的方法。 5. **异常处理**:介绍在处理数据库操作时可能出现的异常,以及如何优雅地捕获和处理这些异常。 6. **性能优化**...
本篇文章将详细探讨如何在iBatis中调用Oracle的函数和存储过程,尤其是处理IN和OUT参数以及游标的场景。 首先,我们需要了解iBatis的基本工作原理。iBatis是一个SQL映射框架,它允许开发者将SQL语句写在XML配置文件...
在实际项目中,使用Ibatis调用存储过程时,还应注意以下几点: 1. 不同的数据库系统可能有不同的存储过程调用语法,如Oracle、MySQL、SQL Server等,需要根据具体数据库进行调整。 2. 存储过程中的输出参数在Java...
然后,他们会在iBatis的配置文件中定义这些存储过程的映射,以便在Action类中通过iBatis调用。 至于“ssi+mysql”标签,这里的“ssi”可能是指Struts、Spring和iBatis的首字母缩写,表明这个项目是基于这三个框架...
首先,Ibatis允许我们通过SQL映射文件来定义SQL语句,这种方式比传统的JDBC更加灵活且易于维护。批量插入通常在处理大量数据时非常有用,它可以显著提高性能,减少数据库交互次数。批量插入的SQL语句通常使用`INSERT...
总的来说,这个项目提供了一个基础的Web应用示例,展示了如何利用Spring MVC作为Web框架,结合iBATIS进行数据访问,以及Oracle数据库进行数据存储。通过学习和实践这个项目,开发者可以深化对这三者集成的理解,为更...
Ibatis 支持动态 SQL 和存储过程,使得数据库操作更加灵活。 **Ibatis 框架搭建步骤** 1. **创建数据库表和 JavaBean** - 以 emp 表为例,我们需要在数据库中创建对应的表结构,并编写对应的 JavaBean 类(Emp....
【IbatisDemo02】是一个面向初学者的教程,它深入浅出地展示了如何在.NET环境中使用IbatisNet这一持久层框架来调用数据库的存储过程。IbatisNet是MyBatis的.NET版本,它提供了灵活的数据访问层,使得开发者能够更加...
通过定义Mapper,开发者可以指定具体的SQL语句、参数类型和返回值类型等。 ### 三、Ibatis3的配置与初始化 #### 1. **初始化过程** - **读取配置文件**:使用 `Resources.getResourceAsReader()` 方法读取配置...
此外,IBatis还支持存储过程的调用,并提供了事务管理机制,确保数据的一致性和完整性。 总的来说,这个IBatis2.3.4的整合包为开发者提供了一个全面的开发环境,从基础库到源码再到文档,满足了学习、调试和实际...
10. 实战案例:书中包含了大量的实战示例,涵盖了CRUD操作、分页查询、存储过程调用、批量更新等常见场景,帮助读者更好地理解和运用iBatis。 通过阅读《iBatis实战》这本书,你将能够熟练掌握iBatis的配置、使用和...
4. 编写业务逻辑:在Service层调用DAO层的方法进行数据库操作,使用iBatis的动态SQL特性编写灵活的查询语句。 5. 创建Action:在Struts2的Action中注入Service,处理HTTP请求并调用业务方法。 关于JSON的交互,JSON...
Ibatis 是一款优秀的开源持久层框架,它允许开发者将 SQL 与 Java 代码进行分离,提供了灵活的映射机制,让数据库操作变得简单而高效。在结合 Spring 框架时,Ibatis 可以作为数据访问层的一部分,实现业务逻辑与...
在Ibatis中,BLL会调用Mapper接口的方法,通过SqlSession执行SQL,完成业务逻辑。 3. 数据访问层:Ibatis作为数据访问层的工具,负责处理SQL的执行和结果的映射。在这个层面上,开发者只需要关注SQL的编写和结果的...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...