国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

JDBC CallableStatement存儲(chǔ)過(guò)程

2018-03-20 19:58 更新

JDBC教程 - JDBC CallableStatement存儲(chǔ)過(guò)程


CallableStatement接口可以接受運(yùn)行時(shí)輸入?yún)?shù)。

CallableStatement用于執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程。

Connection對(duì)象也可以創(chuàng)建CallableStatement來(lái)調(diào)用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程。

例子

假設(shè),我們有以下MySQL存儲(chǔ)過(guò)程。

DELIMITER $$

DROP PROCEDURE IF EXISTS `EMP`.`getEmpName` $$

CREATE PROCEDURE `EMP`.`getEmpName` 
   (IN EMP_ID INT, OUT EMP_FIRST VARCHAR(255))
BEGIN
   SELECT first INTO EMP_FIRST FROM Emp WHERE ID = EMP_ID;
END $$

DELIMITER ;

上面的存儲(chǔ)過(guò)程定義了兩個(gè)參數(shù),一個(gè)是EMP_ID,另一個(gè)是EMP_FIRST。它通過(guò)員工id返回員工的名字。

IN和OUT之前的參數(shù)名稱(chēng)告訴參數(shù)的類(lèi)型。 IN用于數(shù)據(jù)輸入,OUT用于數(shù)據(jù)輸出。

在上面的代碼中,我們傳入IN的員工id,并得到OUT的名字。

我們還可以有INOUT參數(shù),它們都可以接受值和傳遞值。

共有三種類(lèi)型的參數(shù):IN,OUT和INOUT。

PreparedStatement和CallableStatement都可以接受參數(shù)。

PreparedStatement對(duì)象僅使用IN參數(shù)。 CallableStatement對(duì)象可以使用所有三個(gè)。

參數(shù) 描述
IN 創(chuàng)建SQL語(yǔ)句時(shí)其值未知的參數(shù)。我們使用setXXX()方法將值傳遞給IN參數(shù)。
OUT 從SQL語(yǔ)句返回其值的參數(shù)。我們使用getXXX()方法從OUT參數(shù)中獲取值。
INOUT 參數(shù)可以傳入和傳出值。我們用setXXX()方法綁定變量,并用getXXX()方法檢索值。

以下代碼顯示如何調(diào)用存儲(chǔ)過(guò)程。

conn是 Connection 的一個(gè)對(duì)象。

CallableStatement cstmt = null;
String SQL = "{call getEmpName (?, ?)}";
cstmt = conn.prepareCall (SQL);

關(guān)閉CallableStatement對(duì)象

我們需要關(guān)閉CallableStatement對(duì)象來(lái)釋放資源。

首先關(guān)閉Connection對(duì)象,它也將關(guān)閉CallableStatement對(duì)象。

CallableStatement cstmt = null;
String SQL = "{call getEmpName (?, ?)}";
cstmt = conn.prepareCall (SQL);
cstmt.close();
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)