導航:首頁 > 編程語言 > java調用存儲函數

java調用存儲函數

發布時間:2023-06-09 14:49:56

1. java中如何調用函數和自定義函數

調用函數

System.out.println("hello world");

println即為函數,out為是輸出對象,System為java系統類。

Java源程序(.java文件)——>java位元組碼文件(.class文件)——>由解釋執行器(java.exe)將位元組碼文件載入到java虛擬機(jvm)——>位元組碼文件(.class)就會在java虛擬機中執行。

Java的基本包
java.lang其中包含有:
介面:Comparable、Cloneable、Runable等
類:八個基本數據類型封裝類、Math、Runtime、Object、String、StringBuffer、Thread、Exception等

2. 在java中怎麼調用oracle的存儲過程

java下實現調用oracle的存儲過程和函數
在oracle下創建一個test的賬戶,然後按一下步驟執行:
1.創建表:STOCK_PRICES

--創建表格
CREATE TABLE STOCK_PRICES(
RIC VARCHAR(6) PRIMARY KEY,
PRICE NUMBER(7,2),
UPDATED DATE );

2.插入測試數據:

--插入數據
INSERT INTO stock_prices values('1111',1.0,SYSDATE);
INSERT INTO stock_prices values('1112',2.0,SYSDATE);
INSERT INTO stock_prices values('1113',3.0,SYSDATE);
INSERT INTO stock_prices values('1114',4.0,SYSDATE);

3.建立一個返回遊標: PKG_PUB_UTILS

--建立一個返回遊標
CREATE OR REPLACE PACKAGE PKG_PUB_UTILS IS
--動態游標
TYPE REFCURSOR IS REF CURSOR;
END PKG_PUB_UTILS;

4.創建和存儲過程:P_GET_PRICE

--創建存儲過程
CREATE OR REPLACE PROCEDURE P_GET_PRICE
(
AN_O_RET_CODE OUT NUMBER,
AC_O_RET_MSG OUT VARCHAR2,
CUR_RET OUT PKG_PUB_UTILS.REFCURSOR,
AN_I_PRICE IN NUMBER
)
IS
BEGIN
AN_O_RET_CODE := 0;
AC_O_RET_MSG := '操作成功';

OPEN CUR_RET FOR
SELECT * FROM STOCK_PRICES WHERE PRICE<AN_I_PRICE;
EXCEPTION
WHEN OTHERS THEN
AN_O_RET_CODE := -1;
AC_O_RET_MSG := '錯誤代碼:' || SQLCODE || CHR(13) || '錯誤信息:' || SQLERRM;
END P_GET_PRICE;

5.創建函數:

--創建函數:F_GET_PRICE
CREATE OR REPLACE FUNCTION F_GET_PRICE(v_price IN NUMBER)
RETURN PKG_PUB_UTILS.REFCURSOR
AS
stock_cursor PKG_PUB_UTILS.REFCURSOR;
BEGIN
OPEN stock_cursor FOR
SELECT * FROM stock_prices WHERE price < v_price;
RETURN stock_cursor;

3. java調用oracle存儲過程無法獲得正確的返回值,每次都是0

你通過JDBC這種方式調用存儲過程,應該使用 CallableStatement 類, CallableStatement cs=conn.prepareCall(str);

補充一句,避免你在執行有錯,
cs.excuse();這個方法為執行,然後在獲取輸出參數。另外寫輸出參數的類型時,直Types.類型即可,不用帶包。

4. 如何在JPA的po類中調用存儲過程和函數

在項目開發中用到了JPA規范,並在po類中使用了存儲過程,這種資料在網上很容易找到,所以很快就跑通了,代碼如下:

@Entity
@Table(name = "USER", schema = "MOBILE", uniqueConstraints = {
@UniqueConstraint(columnNames = { "LOGINID" }),
@UniqueConstraint(columnNames = { "USERACCOUNT" }) })
@NamedNativeQuery(name = "addUser", query = "{call addUser(:pPortalID,:ploginid,:ploginpasswd,:pSelfQuiz,:pSelfAnswer,:pUserEmail,:pUserAccount,:pUserPin)}", hints = { @QueryHint(name = "org.hibernate.callable", value = "true") }, resultClass = User.class)
public class User implements java.io.Serializable {

private static final long serialVersionUID = 5325039036880950119L;
private String userid;
private String loginid;
private String passwd;
//省略若干代碼
}

閱讀全文

與java調用存儲函數相關的資料

熱點內容
javaint數組轉list 瀏覽:14
怎麼用大號文件打開電腦 瀏覽:869
mac的文件夾怎麼找 瀏覽:498
烏魯木齊投標文件代寫多少錢 瀏覽:253
高清網路電視源碼 瀏覽:744
郵儲銀行綠卡什麼不能微信支付寶 瀏覽:293
格式m的文件怎麼打開 瀏覽:616
看車在哪個網站 瀏覽:820
pptv網路電視330 瀏覽:627
word的讀音 瀏覽:713
幾大資料庫 瀏覽:859
mac如何完全退出程序 瀏覽:111
打地鼠游戲編程如何加背景音樂 瀏覽:882
廣州白雲區PLc編程師哪裡有 瀏覽:216
招行app定期如何自動續期 瀏覽:748
access資料庫的類型什麼 瀏覽:828
查看file文件有多少行 瀏覽:468
如何添加電腦文件後綴 瀏覽:790
bin文件轉化 瀏覽:452
vivo的通話記錄在哪個文件夾 瀏覽:143

友情鏈接