ibatis 调用存储过程

ibatis 调用存储过程

CreationTime--2018年8月15日19点38分

Author:Marydon

1.返回系统游标集合

  第一步:返回值,将返回值封装到HashMap中

<resultMap class="java.util.HashMap" id="directoryMonitor_out_cursor">
    <!-- column代表的是返回的字段,property代表的是HashMap的键,指定具体的键负责接收 -->
    <result property="FORGID" column="FORGID"/>
    <result property="FORGNAME" column="FORGNAME"/>
    <result property="FCENNAME_TEM_COUNT" column="FCENNAME_TEM_COUNT"/>
    <result property="ISNULLCENCODE_COUNT" column="ISNULLCENCODE_COUNT"/>
    <result property="TOTALCOUNT" column="TOTALCOUNT"/>
</resultMap>

  第二步:参数配置(入参、出参)

<!-- property属性指定HashMap的具体键,虽然Map是无序的但是存储过程的入参顺序会按照parameter标签的排列顺序执行,mode属性指定入参或返回值 -->
<parameterMap class="java.util.HashMap" id="SHEHE_ERROR_Map">
    <parameter property="FRCODE" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
    <parameter property="FORGID" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
    <parameter property="START" jdbcType="NUMBER" javaType="java.lang.Integer" mode="IN" />
    <parameter property="END" jdbcType="NUMBER" javaType="java.lang.Integer" mode="IN" />
    <parameter property="out_cur" resultMap="directoryMonitor_out_cursor" javaType="java.sql.ResultSet" jdbcType="ORACLECURSOR" mode="OUT" />
</parameterMap>

  第三步:调用存储过程

<!-- ?号的个数须与<parameter>标签的个数保持一致 -->
<procedure id="getSHEHE_ERROR_DATA" parameterMap="SHEHE_ERROR_Map">
       <![CDATA[
          {call PRC_DIAITEM_MONITOR(?,?,?,?,?)}
       ]]>
</procedure>

相关推荐:

原文地址:https://www.cnblogs.com/Marydon20170307/p/9483566.html

时间: 2024-08-30 04:41:35

ibatis 调用存储过程的相关文章

iBatis调用存储过程以及MySQL创建存储过程

首先是MySQL中创建存储过程的SQL -- 列出所有的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,如果此存储过程不存在,会提示SQL错误(1305):PROCEDURE pro_init does not exist SHOW CREATE PROCEDURE pro_init; -- 创建存储过程 DROP PROCEDURE IF EXISTS pro_init; -- 删除一个已存在的存储过程 DELIMITER // -- 声明当前

IBatis.Net使用总结(四)-- IBatis 调用存储过程

IBatis 调用存储过程 http://www.cnblogs.com/jeffwongishandsome/archive/2010/01/10/1543219.html http://www.cnblogs.com/firstyi/archive/2008/01/25/1053208.html 存储过程大致分为两种: 查询类存储过程——select查询类的存储过程,不曾改变数据库数据的存储过程 更新类存储过程——Update/Insert/Delete类型的存储过程,改变数据库数据的存储过

MyBatis入门学习教程-调用存储过程

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu

MyBatis学习总结(六)——调用存储过程(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(六)--调用存储过程 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男");

ibatis调存储过程返回游标

http://blog.sina.com.cn/s/blog_6f3ca78f01010pmj.html iBatic调用与JAVA调用很类似,只是JAVA把参数的注册放到了类里面,而iBatis把参数的注册放到了XML配置文件里,下面两个例子,第一个是返回普通数据,第二个是返回游标. 1:返回普通数据 Map map = new HashMap(); map.put("username", "JACK"); sqlMapClient.queryForObject(

MyBatis学习总结_06_调用存储过程

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu

5.MyBaits调用存储过程

1.创建一个javaweb项目MyBatis_Part4_Procedure 2.在src下创建procedure.sql文件 1 --创建表 2 create table p_user( 3 id number primary key, 4 name varchar2(20), 5 sex varchar2(2) 6 ); 7 8 create sequence seq_puser; 9 10 insert into p_user values(seq_puser.nextval,'A','男

MyBatis——调用存储过程

原文:http://www.cnblogs.com/xdp-gacl/p/4270352.html 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 create table p_user( id int primary key auto_increment, name varchar(10), sex char(2) ); insert into p_user(name,sex) values('A',"男"); insert in

MyBatis学习---------调用存储过程和缓存

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu