<aside>

7/3

參考資料

</aside>

什麼是 Stored Procedure(儲存程序),如何使用該項技術?

先預存SQL語法在資料庫 → 後端CALL這個Procedure → 資料庫執行並回傳結果。

可以防止 SQL Injection。


CREATE PROCEDURE 方法(參數) → 定義一個儲存程序

BEGIN

(SQL指令)

END;

採用MySQL,要使用 DELIMITER 來更改結束符號,不然SQL指令會在遇到第一個分號就執行:

DELIMITER //

CREATE PROCEDURE 方法(參數)

BEGIN

(SQL指令)

END //

DELIMITER ;


Spring boot 要怎麼使用 Stored Procedure跟資料庫互動?

Spring boot的話可以透過JPA呼叫Stored Procedure (使用 @Query 搭配 nativeQuery 呼叫 Stored Procedure) → 直接在 Repository 介面使用 @Query參數化查詢