ibatis三调用储存进程

 搜遍官网和英文手册,也找不到ibatis三调用储存历程示范,无奈看了一下子源代码。花了三个钟头,总算试出来了,觉着自个儿老了,分析问题好慢呀。(网上大多是ibatis二的例证)
1. 第一oracle创设一个最简略的储存历程:

Java代码
一.create or replace procedure pp(x in number, y in number ,z out number ) is
2. begin
3. select x + y into z from dual;
四.end pp;
create or replace procedure pp(x in number, y in number ,z out number ) is
begin
select x + y into z from dual;
end pp;

很简单,储存进程名字叫pp,传到两个输入参数,其后z是输出参数,算两者之和。

2. 在投射资料中

Java代码
1.
2. 3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
4. "http://ibatis.apache.org/dtd/ibatis-三-mapper.dtd">
5.
6.

  • 7.{call pp(#{x},#{y},#{z,mode=OUT,jdbcType=INTEGER})} 8./select> 9. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-三-mapper.dtd">
    {call pp(#{x},#{y},#{z,mode=OUT,jdbcType=INTEGER})}



    上头id随意取,statementType是关健,这边可以是"STATEMENT","PREPARED","CALLABLE"(调用储存历程) ,{call pp(#{x},#{y},#{z,mode=OUT,jdbcType=INTEGER})} 要用这种格式
    {call 储存历程名(输入参数列表,输出参数列表)}
    重要是这个mode=OUT为输出参数,试了许久。


    3.调用

    Java代码
    一.SqlSession session = .......
    2. Map map = new HashMap();
    3. map.put("x", 一);
    4. map.put("y", 二);
    5. map.put("z", 零);
    6. session.selectOne("emp.selectProc", map);
    7. System.out.println(map.get("z"));
    本文来源:
    我的异常网
    Java Exception
    Dotnet Exception
    Oracle Exception
    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值