Java怎麼編寫Oracle存儲過程
通常我們都使用Ps/SQL為Oracle編寫存儲過程,從Oracle 8開始我們可以有另一種選擇:Java。8.0開始,Oracle自帶一個JVM,內置對Java的支持,任何Java能做的事情你都可以放到Oracle裏面來做,你甚至可以在裏面操作db2。這讓Oracle具備了極其巨大的擴展能力,只要你願意,完全可以開發一個trigger,讓它在適當的時候給管理員的msn發送一條即時消息。
由於ps/SQL是過程化的語言,它基本上不具備多態的`概念,供Oracle使用的Java方法必須申明為static,所以在Oracle中你無法使用Java的動態特性,比如接口、反射等。不過這並不妨礙你用Java做你愛做的事。
我們以一個簡單的hello world為例,我想任何一個有經驗的Java程序員都能夠通過這個例子,派生出其他希奇古怪的應用,有好的創意記得要與我共享,我的msn是
首先是創建一個Java類,你可以用Jbuilder/Eclipse來編寫,也可以直接在Oracle的控制枱裏面創建。前者不多説,看看後一種方式。
啟動SQL plus,執行如下命令:
createorreplaceandcompilejavasourcenamed"hello_sp"le;publicclassHello{publicstaticStringsay(Stringname){return"你好,"+name;}} |
Java程序已創建。
然後在Oracle中把這個類導入成為一個函數,執行命令:
createorreplacefunctionhello_sp(namevarchar2)returnvarchar2aslanguagejavaname'(ng)ng'; |
函數已創建
現在可以調用該函數,執行:
select hello('bromon') from dual;
返回結果:你好,bromon
有一個需要注意的問題是,假如我們的java方法是沒有參數的,比如:
publicstaticStringsay(){return"你好”;} |
那麼在創建函數的時候,函數名不應該有擴號:hello_sp,否則會報告函數有編譯錯誤。
如果你的Java類是在IDE裏面編寫的,那麼只需要在oracle中加載編譯過的class文件即可,方法是:
啟動enterprise manage console,在“方案”下找到“源類型”,右擊”Java類”,選擇”加載Java“,選擇對應的class文件即可。
-
如何在Java處理PFX格式證書
公鑰加密技術12號標準(PublicKeyCryptographyStandards#12,PKCS#12)為存儲和傳輸用户或服務器私鑰、公鑰和證書指定了一個可移植的格式。它是一種二進制格式,這些文件也稱為PFX文件。開發人員通常需要將PFX文件轉換為某些不同的格式,如PEM或JKS,以便可以為使用SSL...
-
sun公司國際認證試題及答案
SUN認證是給網絡設計界建立的一套認證標準,Sun公司推出了Java以及Solaris技術認證方案。下面為幫助大家提高對SUN認證的認識,yjbys小編為大家整理最新的sun公司國際認證試題及答案,希望能幫助到大家!hofthefollowingfragmentsmightcauseerrors?A.Strings="Gonewit...
-
sun認證java程序員考試大綱
SUN認證對於企業而言,可以藉助這項認證作為招聘人才的評判標準,或是作為衡量員工技術水準的依據。以下是小編整理的關於sun認證java程序員考試大綱,希望大家認真閲讀!課程目標:通過學習該課程學員可以具有以下能力:1、理解面向對象編程思想。2、熟悉掌握運用Java進...
-
關於初級java程序員筆試題
Sun認證Java程序員考試內容涉及Java所有相關知識、編程概念及applet開發技巧。下面是小編整理的關於初級java程序員筆試題,歡迎大家參考!第一題:判斷題語言是一種面向對象程序設計語言。(對)2.在Java有布爾類型,該類型只能有兩個值:1和0。(錯)中一個類可以同時繼承...
相關文章
- 如何理解Javascript的caller,callee,call,apply區別
- 如何理解Javascript的caller,callee,call,apply區別
- 如何理解Javascript的caller,callee,call,apply區別
- 簡單地分析Java線程編程中ThreadLocal類的使用
- java編寫oracle存儲的方法
- Java併發編程:深入剖析ThreadLocal
- 如何理解Javascript的caller,callee,call,apply區別
- Java中調用Oracle包的過程
- 如何理解Javascript的caller,callee,call,apply區別
- 如何理解Javascript的caller,callee,call,apply區別