数据库储存过程超简单实例
網(wǎng)上看了半天都沒找到一個(gè)完整儲(chǔ)存過程從創(chuàng)建到調(diào)用的實(shí)例,于是自己寫了一個(gè)簡(jiǎn)單的實(shí)例.
數(shù)據(jù)庫(kù)創(chuàng)建存儲(chǔ)過程,定義個(gè)函數(shù) 格式如下,開頭DELIMITER //和結(jié)尾/DELIMITER? 和BEGIN? 和?END 是固定格式
定了一個(gè)叫test2()的方法(在mapper.xml中會(huì)指定這個(gè)函數(shù)名),in表示入?yún)?varchar(255)參數(shù)長(zhǎng)度為255
1 創(chuàng)建儲(chǔ)存過程函數(shù)例子(統(tǒng)計(jì)指定id的個(gè)數(shù)),將語(yǔ)句直接在數(shù)據(jù)庫(kù)查詢編輯窗口執(zhí)行一下就可以了(會(huì)創(chuàng)建在庫(kù)下面,每個(gè)表都可以使用):
DELIMITER //
CREATE PROCEDURE test2(in parmater varchar(255))
BEGIN
SELECT
count(*)
FROM
`user` where id = parmater ;
END
//DELIMITER ;
?
2.在dao的mapper.xml中引用:在正常的語(yǔ)句中多個(gè)statementType="CALLABLE" 屬性表示可以支持儲(chǔ)存過程函數(shù)
<select id="test2" parameterType="string" resultType = "integer" statementType="CALLABLE">
<!-- test2是上面方法名,type是類型,mode是表示入?yún)?out表示返回值-->
{call test2( #{入?yún)?jdbcType=VARCHAR,mode=IN})}??
</select>
?
3.在dao中定義一個(gè)方法test2:
int test2(String uid);
4.junit測(cè)試
?
?
總結(jié)
以上是生活随笔為你收集整理的数据库储存过程超简单实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arduino 太阳能MPPT控制器设计
- 下一篇: 限流算法-固定时间窗口