ibatis 调用mysql 存储过程

来源:互联网 发布:日本科幻小说 知乎 编辑:程序博客网 时间:2024/05/06 15:10

建议使用Navicat写mysql存储过程,支持存储过程运行,可以边写边调试。

 

语法:

BEGIN  --开头

 

END  --结尾

 

DECLARE add_score int;  --定义变量

 

select score  into add_score from ×;  v给变量赋值

 

set add_score=×;   --给变量赋值

 

while循环:

WHILE expression DO

statements

END WHILE;

 

不多描述了,其他语法跟mysql一样无异。

 

注意:

跟mysql一样,mysql存储过程不区分大小写,in out参数最好定义为 _para1, _para2加下划线。

我曾经把传入参数定义为USERID, 与字段userId重名,把数据库统统干掉,惨痛的教训。

 

如何为存储过程添加参数?

Navicat创建存储过程,下面有一栏“参数”,可以在此定义,如: _FBUserId int,_UserId int。

逗号隔开,Navicat运行存储过程时会提示输入参数,写参数用逗号隔开即可。

 

ibatis如何调用mysql存储过程?

 

定义传入参数:

 

<parameterMap id="swapParameters" class="java.util.HashMap">

<parameter property="_FBUserId" jdbcType="String" javaType="String" mode="IN" />

<parameter property="_UserId" jdbcType="String" javaType="String" mode="IN" />

</parameterMap>

 

调用:

   <procedure id="userMerge" parameterMap="swapParameters">

    {CALL FBUserMerge (?,?)}

    </procedure>    

 

 

OK。

原创粉丝点击