- 相關(guān)推薦
java編寫(xiě)oracle存儲的方法
Java的主要工作是通過(guò)編程語(yǔ)言來(lái)制作互聯(lián)網(wǎng)頁(yè)面、制作動(dòng)態(tài)效果以及網(wǎng)站等技術(shù),以下是小編為大家搜索整理的java編寫(xiě)oracle存儲的方法,希望能給大家帶來(lái)幫助!更多精彩內容請及時(shí)關(guān)注我們應屆畢業(yè)生考試網(wǎng)!
通常我們都使用Ps/SQL為Oracle編寫(xiě)存儲過(guò)程,從Oracle 8開(kāi)始我們可以有另一種選擇:Java。8.0開(kāi)始,Oracle自帶一個(gè)JVM,內置對Java的支持,任何Java能做的事情你都可以放到Oracle里面來(lái)做,你甚至可以在里面操作db2。這讓Oracle具備了極其巨大的擴展能力,只要你愿意,完全可以開(kāi)發(fā)一個(gè)trigger,讓它在適當的時(shí)候給管理員的msn發(fā)送一條即時(shí)消息。
好消息說(shuō)完了,現在是壞消息:由于ps/SQL是過(guò)程化的語(yǔ)言,它基本上不具備多態(tài)的概念,供Oracle使用的Java方法必須申明為static,所以在Oracle中你無(wú)法使用Java的動(dòng)態(tài)特性,比如接口、反射等。不過(guò)這并不妨礙你用Java做愛(ài)做的事。
我們以一個(gè)簡(jiǎn)單的hello world為例,我想任何一個(gè)有經(jīng)驗的Java程序員都能夠通過(guò)這個(gè)例子,派生出其他希奇古怪的應用,有好的創(chuàng )意記得要與我共享,我的msn是
首先是創(chuàng )建一個(gè)Java類(lèi),你可以用Jbuilder/Eclipse來(lái)編寫(xiě),也可以直接在Oracle的控制臺里面創(chuàng )建。前者不多說(shuō),看看后一種方式。
啟動(dòng)SQL plus,執行如下命令:
create or replace and compile java source named "hello_sp" as
package org.bromon.oracle;
public class Hello
{
public static String say(String name)
{
return "你好,"+name;
}
}
Java程序已創(chuàng )建。
然后在Oracle中把這個(gè)類(lèi)導入成為一個(gè)函數,執行命令:
create or replace function hello_sp(name varchar2) return varchar2
as language java name
'org.bromon.oracle.Hello.say(java.lang.String) return java.lang.String';
函數已創(chuàng )建
現在可以調用該函數,執行:
select hello('bromon') from dual;
返回結果:你好,bromon
有一個(gè)需要注意的問(wèn)題是,假如我們的java方法是沒(méi)有參數的,比如:
public static String say()
{
return "你好”;
}
那么在創(chuàng )建函數的時(shí)候,函數名不應該有擴號:hello_sp,否則會(huì )報告函數有編譯錯誤。
如果你的Java類(lèi)是在IDE里面編寫(xiě)的,那么只需要在oracle中加載編譯過(guò)的class文件即可,方法是:
啟動(dòng)enterprise manage console,在“方案”下找到“源類(lèi)型”,右擊”Java類(lèi)”,選擇”加載Java“,選擇對應的class文件即可。
【java編寫(xiě)oracle存儲的方法】相關(guān)文章:
編寫(xiě)Java無(wú)腳本的JSP頁(yè)面的方法08-18
java程序編寫(xiě)10-10
在Java中調用存儲的過(guò)程10-04
如何編寫(xiě)java程序07-05