ibatis oracle function,ibatis调用Oracle中的存储过程和function

一、调用存储过程Oracle代码

procedure proc_pos_check(p_gtin        in varchar2,

p_safe_code   in varchar2,

p_in_sell_id  in varchar2,

p_buy_id      in varchar2,

p_oper_type   in varchar2,

p_out_sell_id out varchar2,

p_result      out varchar2)

SqlMap代码

{call pkg_pos.proc_pos_check(?,?,?,?,?,?,?)}

Java代码

public ProCheckQueryRsp proCheck(ProCheckQueryReq proCheckQueryReq)

{

ProCheckQueryRsp rsp = new ProCheckQueryRsp();

Map map = new HashMap();

//拼装存储过程IN参数

map.put("p_gtin", proCheckQueryReq.getGtin());

map.put("p_safe_code", proCheckQueryReq.getSecurityCode());

map.put("p_in_sell_id", proCheckQueryReq.getSellerID());

map.put("p_buy_id", proCheckQueryReq.getBuyerID());

map.put("p_oper_type", proCheckQueryReq.getOperType());

//拼装存储过程OUT参数

map.put("p_out_sell_id", "");

map.put("p_result", "");

//调用存储过程

dbOperation.queryForObject("webservice_procheck.proCheck", map);

//将OUT值存入实体类中

rsp.setSellerID(map.get("p_out_sell_id"));

rsp.setResult(map.get("p_result"));

return rsp;

}

二、调用function

Oracle代码

CREATE OR REPLACE Function F_createalarminfoinstancename(v_instancename in varchar2, v_almobjtype in varchar2, v_almobj in varchar2)

return  varchar2

is

v_err varchar2(200);

result varchar2(10);

Begin

result:='1';

update alm_alarminfo set instancename = v_instancename where alarmobjdn = v_almobj and alarmobjtype = v_almobjtype;

commit;

return result;

End F_createalarminfoinstancename;

SqlMap代码

{? = call F_createalarminfoinstancename(?,?,?)}

]]>

Java代码

Map m = new HashMap();

m.put("v_instancename", instancename);

m.put("v_almobjtype", alarmobjtype);

m.put("v_almobj", alarmobjdn);

m.put("result", "");

service.update("Workorder.updateAlarmInfoInstance", m);

原帖地址:

http://blog.csdn.net/liuyuhua0066/article/details/7270253

http://blog.csdn.net/haqer0825/article/details/8751989

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值