龙空技术网

mybatis-如何调用存储过程(实例讲解)

程序员界的彭于晏 2042

前言:

当前各位老铁们对“存储过程返回查询结果”可能比较注意,咱们都需要学习一些“存储过程返回查询结果”的相关文章。那么小编在网摘上汇集了一些关于“存储过程返回查询结果””的相关知识,希望你们能喜欢,朋友们快快来学习一下吧!

最近因为公司的需求,所以整理了一下mybatis调用存储过程的资料分享给大家。

1.创建存储过程 例如

存储过程中 in,out, in out 表示;

in 是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变。

out模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程

in out 表示高参数可以向该过程中传递值,也可以将某个值传出去

DROP PROCEDURE IF EXISTS `proc_adder`;

CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_adder`(IN a int, IN b int, OUT sum int)

BEGIN

#Routine body goes here...

DECLARE c int;

if a is null then set a = 0;

end if;

if b is null then set b = 0;

end if;

set sum = a + b;

select sum; #查询,返回sum结果集

END

2.存储过程写完之后就是与mybatis框架进行交接

给a 和 b 赋值 为 1 和 2 如果结果集 大于1就返回 0 给页面

3.mybatis的xml 操作

call proc_adder 执行这个存储过程

mode=IN a和b 说明 a和b 是传的参数;

mode=OUT sum 说明 sum 可以返回的值;

jdbcType=INTEGER 是对应数据库类型 与上面创建存储过程的类型一致

例如 :

IN a int 说明 jdbcType=INTEGER;

IN a varchar(50) 说明 jdbcType=VARCHAR;

resultMap="CustomerInterview";返回值的内容在这里

发现其实和基本的 mybatis 数据库调用是一样的,只是赋值的时候多了一些参数配置

标签: #存储过程返回查询结果