网上看了半天都没找到一个完整储存过程从创建到调用的实例,于是自己写了一个简单的实例.
数据库创建存储过程,定义个函数 格式如下,开头DELIMITER //和结尾/DELIMITER 和BEGIN 和 END 是固定格式
定了一个叫test2()的方法(在mapper.xml中会指定这个函数名),in表示入参,varchar(255)参数长度为255
1 创建储存过程函数例子(统计指定id的个数),将语句直接在数据库查询编辑窗口执行一下就可以了(会创建在库下面,每个表都可以使用):
DELIMITER //
CREATE PROCEDURE test2(in parmater varchar(255))
BEGIN
SELECT
count(*)
FROM
`user` where id = parmater ;
END
//DELIMITER ;
2.在dao的mapper.xml中引用:在正常的语句中多个statementType="CALLABLE" 属性表示可以支持储存过程函数
<select id="test2" parameterType="string" resultType = "integer" statementType="CALLABLE">
<!-- test2是上面方法名,type是类型,mode是表示入参,out表示返回值-->
{call test2( #{入参,jdbcType=VARCHAR,mode=IN})}
</select>
3.在dao中定义一个方法test2:
int test2(String uid);
4.junit测试