JFinal 調(diào)用存儲(chǔ)過(guò)程的步驟
存儲(chǔ)過(guò)程
存儲(chǔ)過(guò)程(stored procedure)是一組為了完成特定功能的SQL語(yǔ)句集合,經(jīng)編譯后存儲(chǔ)在服務(wù)器端的數(shù)據(jù)庫(kù)中,利用存儲(chǔ)過(guò)程可以加速SQL語(yǔ)句的執(zhí)行。
存儲(chǔ)過(guò)程既可以有參數(shù)有返回值,且有多個(gè)返回值。但是它與函數(shù)不同,存儲(chǔ)過(guò)程的返回值只是指明執(zhí)行是否成功,且不能像函數(shù)那樣被直接調(diào)用,只能利用 execute 來(lái)執(zhí)行存儲(chǔ)過(guò)程。
創(chuàng)建儲(chǔ)存過(guò)程
無(wú)參數(shù),無(wú)返回值
--創(chuàng)建名為 PERSON_PROC 的無(wú)參數(shù)、無(wú)返回值的存儲(chǔ)過(guò)程
create procedure PERSON_PROC
as
begin
--往person表插入一條數(shù)據(jù)
insert into person(name) values ('chenjy')
end
--執(zhí)行存儲(chǔ)過(guò)程
execute PERSON_PROC

有參數(shù),有返回值
--創(chuàng)建名為 PERSON_PROC2 的有輸入?yún)?shù)、有返回值的存儲(chǔ)過(guò)程 create procedure PERSON_PROC2 @Name nvarchar(10)='chenjy' --設(shè)置默認(rèn)值 as begin insert into person(name) values (@Name) select * from person end --執(zhí)行名為 PERSON_PROC2 的有輸入?yún)?shù)的存儲(chǔ)過(guò)程 execute PERSON_PROC2 'chenmm'

JFinal調(diào)用
新建實(shí)現(xiàn)ICallback的類
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import com.jfinal.plugin.activerecord.DbKit;
import com.jfinal.plugin.activerecord.ICallback;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.RecordBuilder;
public class TestCallBack implements ICallback {
public String name = "chenjy";
public ResultSet rs = null;
CallableStatement proc = null;
public List<Record> result = null;
@Override
public Object call(Connection conn) throws SQLException {
try {
// 調(diào)用存儲(chǔ)過(guò)程 PERSON_PROC2
proc = conn.prepareCall("{call dbo.PERSON_PROC2(?)}");
// 輸入?yún)?shù)name
proc.setString(1, name);
rs = proc.executeQuery();
// 返回值
result = RecordBuilder.build(DbKit.getConfig(), rs);
proc.close();
} catch (SQLException e) {
System.out.println(e.toString());
}
return result;
}
}
調(diào)用
TestCallBack cb = new TestCallBack(); // 輸入?yún)?shù) name=chenjynew cb.name = "chenjynew"; Db.execute(cb); // 打印返回值 System.out.print(cb.result.toString());
調(diào)用成功添加了一條chenjynew并檢索出所有的數(shù)據(jù)

以上就是JFinal 調(diào)用存儲(chǔ)過(guò)程的步驟的詳細(xì)內(nèi)容,更多關(guān)于JFinal 調(diào)用存儲(chǔ)過(guò)程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 如何用Jfinal連接多個(gè)數(shù)據(jù)庫(kù)
- JFINAL+Ajax傳參 array 數(shù)組方法 獲取request中數(shù)組操作
- JavaWeb如何實(shí)現(xiàn)統(tǒng)一查詢接口(jfinal)
- JFinal使用ajaxfileupload實(shí)現(xiàn)圖片上傳及預(yù)覽
- JFinal實(shí)現(xiàn)偽靜態(tài)的方法
- JFinal極速開(kāi)發(fā)框架使用筆記分享
- jfinal與bootstrap的登出實(shí)戰(zhàn)詳解
- java 中JFinal getModel方法和數(shù)據(jù)庫(kù)使用出現(xiàn)問(wèn)題解決辦法
- Bootstrap+jfinal退出系統(tǒng)彈出確認(rèn)框的實(shí)現(xiàn)方法
- Bootstrap+jfinal實(shí)現(xiàn)省市級(jí)聯(lián)下拉菜單
- jfinal與bootstrap的登錄跳轉(zhuǎn)實(shí)戰(zhàn)演習(xí)
- jfinal添加jcaptcha驗(yàn)證碼實(shí)現(xiàn)方法
相關(guān)文章
基于SpringBoot和Vue實(shí)現(xiàn)頭像上傳與回顯功能
在現(xiàn)代Web應(yīng)用中,用戶個(gè)性化體驗(yàn)尤為重要,其中頭像上傳與回顯是一個(gè)常見(jiàn)的功能需求,本文將詳細(xì)介紹如何使用Spring Boot和Vue.js構(gòu)建一個(gè)前后端協(xié)同工作的頭像上傳系統(tǒng),并實(shí)現(xiàn)圖片的即時(shí)回顯,需要的朋友可以參考下2024-08-08
java實(shí)現(xiàn)隊(duì)列數(shù)據(jù)結(jié)構(gòu)代碼詳解
這篇文章主要介紹了java實(shí)現(xiàn)隊(duì)列數(shù)據(jù)結(jié)構(gòu)代碼詳解,簡(jiǎn)單介紹了隊(duì)列結(jié)構(gòu)以應(yīng)用場(chǎng)景,涉及詳細(xì)實(shí)現(xiàn)代碼,還是比較不錯(cuò)的,這里分享給大家,需要的朋友可以參考下。2017-11-11
JVM參數(shù)NativeMemoryTracking的使用
本文主要介紹了JVM參數(shù)NativeMemoryTracking的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
java swing框架實(shí)現(xiàn)貪吃蛇游戲
這篇文章主要為大家詳細(xì)介紹了java swing框架實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
Spring Boot整合MyBatis連接Oracle數(shù)據(jù)庫(kù)的步驟全紀(jì)錄
這篇文章主要給大家介紹了關(guān)于Spring Boot整合MyBatis連接Oracle數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
java讀取枚舉類的值轉(zhuǎn)成list和map方式
這篇文章主要介紹了java讀取枚舉類的值轉(zhuǎn)成list和map方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07

