ibatis如何返回存储过程中的输出参数

来源:互联网 发布:vb打开资源管理器 编辑:程序博客网 时间:2024/05/16 08:58

ibatis会经常调用存储过程,有的有返回值有的是输出参数,下面是带输出参数的存储过程调用:
java代码:

HashMap<String,Object> paramMap = new HashMap<String,Object>();         paramMap.put("UGName", "01");        paramMap.put("UName", "fff");             sqlMapClient.queryForObject("test.getpro", paramMap);        System.out.println("===="+paramMap.get("TP"));

xml代码:

<parameterMap class="map" id="swapParameters">             <parameter property="UGName"  javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>           <parameter property="UName"  javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>           <parameter property="TP"  javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT"/>     </parameterMap>      <procedure id="test.getpro" parameterMap="swapParameters">           {CALL Proc_JDBCparamTest(?,?,?)}     </procedure>parameterMap里面参数的顺序要和问号的顺序一致存储过程:

ALTER PROCEDURE [dbo].[Proc_JDBCparamTest]
(
@UGName varchar,–代理账号
@UName varchar,–姓名
@TP varchar OUTPUT –提示内容
)
WITH EXECUTE AS CALLER
AS
BEGIN
declare @time [datetime];
set @time=GETDATE();
end
begin
insert into TabjdbcTest(UGName,UName,Time)
values(@UGName,@UName,@time)
set @TP=’存储过程返回结果’;
end
“`

如果存储过程有return值。那莫 {CALL ?=Proc_JDBCparamTest(?,?,?)},参数要和问号一致

0 0