xml 代码
我得问题:
使用ibatis调用存储过程,mysql里面测试能够正确返回一个id,但是在ibatis中调用存储过程之后,没有办法获取存储过程返回的那个id, 求助中....ing
相关代码如下:
xml 代码
<parameterMap class="map" id="swapParameters">
<parameter property="namestr" javaType="java.lang.String" jdbcType="varchar" mode="IN"/>
<parameter property="returnid" javaType="java.lang.Integer" jdbcType="int" mode="OUT"/>
</parameterMap>
<procedure id="insertNameByProcedure" parameterMap="swapParameters">
{call UP_GETINSERTEDIDENTITY_TT(?,?)}
</procedure>
sql 代码
CREATE PROCEDURE `UP_GETINSERTEDIDENTITY_TT`(inname VARCHAR(20), OUT returnid INTEGER(11))
NOT DETERMINISTIC
SQL SECURITY INVOKER
COMMENT ''
BEGIN
insert into `tt`(NAME) values(inname);
select LAST_INSERT_ID() into returnid ;
END;
java 代码
Integer returnid = null;
HashMap<String,Object> paramMap = new HashMap<String,Object>();
paramMap.put("namestr", insertname);
paramMap.put("returnid", returnid);
this.getSqlMapClientTemplate().queryForObject("insertNameByProcedure", paramMap);
return returnid;
return (Integer)paramMap.get("returnid");
分享到:
相关推荐
ibatIS调用存储过程是数据库操作中常见的一种技术,特别是在复杂的业务逻辑处理或数据批量操作时,存储过程能够提供更高的效率和更好的性能。本文将深入探讨如何在ibatIS框架中调用存储过程,以及涉及到的相关知识点...
### Ibatis调用存储过程详解 #### 一、引言 在实际的软件开发过程中,存储过程因其执行效率高及数据库级别的安全性等优点被广泛应用于各种业务场景之中。而对于使用Ibatis作为持久层框架的应用来说,如何有效地...
存储过程是数据库中预编译的SQL语句集合,它可以包含输入、输出和输入/输出参数,以及返回值。使用存储过程可以提高性能,减少网络传输,同时提供更好的数据库安全性,因为它们可以被封装并限制对特定数据库对象的...
在这个项目中,我们结合了Spring框架、Ibatis持久层框架以及Blazeds技术,来演示如何调用存储过程并处理返回的结果集。下面将详细讲解这些技术的运用。 首先,J2EE是一种广泛用于开发分布式企业应用的平台,它提供...
4. **存储过程调用**:演示如何在IBatis中调用MySQL的存储过程,包括传递参数和接收返回值的方法。 5. **异常处理**:介绍在处理数据库操作时可能出现的异常,以及如何优雅地捕获和处理这些异常。 6. **性能优化**...
为了调用上述存储过程并正确处理返回值,我们需要进行以下配置: ##### 日志配置(log4j.properties) ```properties log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j...
Ibatis,一个轻量级的Java持久层框架,提供了与数据库交互的能力,包括调用这些Oracle的函数和存储过程。本篇文章将详细介绍如何在Ibatis中调用Oracle的函数和存储过程。 首先,理解基本概念: 1. **Oracle函数**...
iBATIS是一款开源的持久层框架,它简化了Java应用程序与数据库之间的交互过程。为了提高开发效率和代码的可读性,iBATIS引入了一系列内置别名,用于简化配置文件中的全限定类名书写。本文将详细介绍iBATIS内置别名...
OUT参数在Oracle中用于接收函数或存储过程的返回值。在iBatis中,你需要创建一个Java类来封装这些OUT参数,并在方法签名中声明一个该类型的参数。在SQL映射文件中,使用`<select>`标签,并在`parameterType`中指定...
总的来说,这个项目提供了一个基础的Web应用示例,展示了如何利用Spring MVC作为Web框架,结合iBATIS进行数据访问,以及Oracle数据库进行数据存储。通过学习和实践这个项目,开发者可以深化对这三者集成的理解,为更...
此外,IBatis还支持存储过程的调用,并提供了事务管理机制,确保数据的一致性和完整性。 总的来说,这个IBatis2.3.4的整合包为开发者提供了一个全面的开发环境,从基础库到源码再到文档,满足了学习、调试和实际...
【IbatisDemo02】是一个面向初学者的教程,它深入浅出地展示了如何在.NET环境中使用IbatisNet这一持久层框架来调用数据库的存储过程。IbatisNet是MyBatis的.NET版本,它提供了灵活的数据访问层,使得开发者能够更加...
在调用MySQL存储过程时,iBatis提供了接口,允许我们方便地执行存储过程并获取返回值。 MySQL存储过程是数据库层面的程序,可以包含一系列的SQL语句,如INSERT、UPDATE、DELETE以及SELECT。在处理复杂的业务逻辑或...
Ibatis 支持动态 SQL 和存储过程,使得数据库操作更加灵活。 **Ibatis 框架搭建步骤** 1. **创建数据库表和 JavaBean** - 以 emp 表为例,我们需要在数据库中创建对应的表结构,并编写对应的 JavaBean 类(Emp....
通过"Ibatis-api.chm",开发者可以详细了解这些组件的使用方式、方法签名、参数以及返回值,更好地掌握Ibatis框架,提高开发效率。Ibatis的强大之处在于它的灵活性和易用性,它允许开发者编写复杂的SQL,同时避免了...
在SQL Maps中,你可以定义SQL查询、存储过程以及它们的参数和返回值。这些映射文件将SQL语句与Java对象直接关联,使得在代码中无需手动拼接SQL,提升了代码的可读性和维护性。 在"iBATIS SQL Maps开发指南"中,你将...
如果是Map,可以存储复杂对象并以`#pobj.propertyname#`的方式引用其属性,但这种方式并不推荐。 6. **返回值类型(Result Class/Result Map)**: - `resultClass`:当结果集的列名与类属性名完全匹配时,可以...
7. **入参和返回值的问题**:在 iBatis 中,参数可以通过 `parameterMap` 指定,可以是简单的 Java 对象,也可以是 Map。返回值则通过 `resultMap` 或 `resultType` 定义,可以是单个对象或集合。 文件名如 "iBatis...
10. 实战案例:书中包含了大量的实战示例,涵盖了CRUD操作、分页查询、存储过程调用、批量更新等常见场景,帮助读者更好地理解和运用iBatis。 通过阅读《iBatis实战》这本书,你将能够熟练掌握iBatis的配置、使用和...
【iBatis 简介】 iBatis(现更名为MyBatis)是一个由Apache组织维护的开源项目,它提供了一个O/R Mapping(对象关系映射)解决...在不涉及复杂的存储过程或者动态SQL的情况下,iBatis是一个非常实用的O/R Mapping工具。