在各种数据库框架中,ibatis算是其中不错的一种,小伙伴们知道使用ibatis调用存储过程该如何实现吗?下面听小编来讲解一下吧。
1、首先,定义好你所需存储过程
CREATE OR REPLACE PROCEDURE proc_test(v_domain_id in number, v_count out number) as begin select count( * ) into v_count from bms_cost_bill t where t.domain_id = v_domain_id; end;
2、再来,配置好你的ibatis
<sqlMap namespace="BMS"> --配置映射 <parameterMap id="proc_test" class="java.util.HashMap"> <parameter property="v_domain_id" javaType="java.lang.Long" jdbcType="INTEGER" mode="IN"/> <parameter property="v_count" javaType="java.lang.Long" jdbcType="INTEGER" mode="OUT" /> </parameterMap> --调用存储过程 <procedure id="proc_test" parameterMap="proc_test"> {call proc_test(?,?)} </procedure> </sqlMap>
3、最后,java代码的实现
public void test() { --组装map集合 HashMap < String, Object > params = new HashMap < String, Object > (); params.put("v_domain_id", 1); params.put("v_count", 0); --调用ibatis配置xml中的 procedureId this.getSqlMapClientTemplate() .queryForList("BMS.proc_test", params); --获取返回值 int v_count = Integer.valueOf(params.get("v_count") .toString()); System.out.println("v_count=" + v_count); }
以上就是本篇文章的所有内容,如果要了解更多有关java架构师的知识,就请来关注我们了解详情吧。
推荐阅读: