亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Oracle中基于Java的存儲(chǔ)過(guò)程開(kāi)發(fā)研究

        2010-11-15 01:32:26孔鯤鵬
        巢湖學(xué)院學(xué)報(bào) 2010年6期
        關(guān)鍵詞:源代碼蕪湖調(diào)用

        周 嵐 孔鯤鵬

        (1蕪湖信息技術(shù)職業(yè)學(xué)院,安徽 蕪湖 241003)

        (2巢湖學(xué)院,安徽 巢湖 238000)

        Oracle中基于Java的存儲(chǔ)過(guò)程開(kāi)發(fā)研究

        周 嵐1孔鯤鵬2

        (1蕪湖信息技術(shù)職業(yè)學(xué)院,安徽 蕪湖 241003)

        (2巢湖學(xué)院,安徽 巢湖 238000)

        存儲(chǔ)過(guò)程是一種數(shù)據(jù)庫(kù)對(duì)象,將執(zhí)行計(jì)劃存儲(chǔ)在數(shù)據(jù)庫(kù)的服務(wù)器中,它的執(zhí)行速度比獨(dú)立執(zhí)行同樣的程序要快。任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該用到存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程可以使得對(duì)數(shù)據(jù)庫(kù)的管理、顯示關(guān)于數(shù)據(jù)庫(kù)及其用戶(hù)信息的工作容易很多。文中詳細(xì)分析了Java存儲(chǔ)過(guò)程的開(kāi)發(fā)步驟。

        Java存儲(chǔ)過(guò)程;Oracle9i數(shù)據(jù)庫(kù);Java函數(shù)

        1 存儲(chǔ)過(guò)程的介紹

        1.1 存儲(chǔ)過(guò)程的概念

        存儲(chǔ)過(guò)程是一種數(shù)據(jù)庫(kù)對(duì)象,將執(zhí)行計(jì)劃存儲(chǔ)在數(shù)據(jù)庫(kù)的服務(wù)器中,它的執(zhí)行速度比獨(dú)立執(zhí)行同樣的程序要快。存儲(chǔ)過(guò)程可以使得對(duì)數(shù)據(jù)庫(kù)的管理、顯示關(guān)于數(shù)據(jù)庫(kù)及其用戶(hù)信息的工作容易很多。存儲(chǔ)過(guò)程可以包含數(shù)據(jù)流、邏輯以及對(duì)數(shù)據(jù)庫(kù)的查詢(xún)。在Oracle9i中應(yīng)用開(kāi)發(fā)人員除了可使用PL/SQL還可以使用Java來(lái)開(kāi)發(fā)他們的業(yè)務(wù)邏輯,并將這個(gè)業(yè)務(wù)邏輯作為存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)程序部署在數(shù)據(jù)庫(kù)中。

        當(dāng)調(diào)用Java存儲(chǔ)過(guò)程時(shí),數(shù)據(jù)庫(kù)會(huì)直接運(yùn)行該存儲(chǔ)過(guò)程,無(wú)需進(jìn)行編譯。相對(duì)于SQL語(yǔ)句或PL/SQL塊而言,其執(zhí)行速度更快。

        1.2 設(shè)計(jì)存儲(chǔ)過(guò)程的方針

        1.2.1 在定義存儲(chǔ)過(guò)程時(shí),要使用其完成單一、相對(duì)集中的任務(wù)。

        1.2.2 在定義存儲(chǔ)過(guò)程時(shí),不要定義已經(jīng)由其它特征所提供功能的過(guò)程。例如,不要定義強(qiáng)制數(shù)據(jù)完整性的過(guò)程(使用完整性約束)。

        1.3 存儲(chǔ)過(guò)程的類(lèi)型

        Oracle9i支持四種不同類(lèi)型的存儲(chǔ)過(guò)程,用PL/SQL或Java,都可以實(shí)現(xiàn)全部四種類(lèi)型的存儲(chǔ)過(guò)程。這四種存儲(chǔ)過(guò)程類(lèi)型是:“存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù)、數(shù)據(jù)庫(kù)觸發(fā)器和對(duì)象類(lèi)型方法”。[1]

        1.4 存儲(chǔ)過(guò)程的調(diào)用

        在Oracle9i里,這四種存儲(chǔ)程序類(lèi)型的每一種,都可以從不同的調(diào)用環(huán)境調(diào)用,這些調(diào)用環(huán)境是:“SQL語(yǔ)句或DML語(yǔ)句、頂級(jí)CALL語(yǔ)法、PL/SQL塊、子程序(包)和觸發(fā)器的隱式調(diào)用”。[2]

        2 教師信息管理系統(tǒng)中Java存儲(chǔ)過(guò)程的開(kāi)發(fā)和設(shè)計(jì)

        2.1 創(chuàng)建Java存儲(chǔ)過(guò)程的一般步驟

        2.1.1 Java存儲(chǔ)過(guò)程的開(kāi)發(fā)步驟:編寫(xiě)Java源代碼、裝載Java代碼及類(lèi)到Oracle9i數(shù)據(jù)庫(kù)中、生成調(diào)用說(shuō)明和調(diào)用JSP。

        要將Java方法轉(zhuǎn)換為Java存儲(chǔ)過(guò)程需要幾個(gè)步驟,包括:用loadjava實(shí)用程序?qū)ava類(lèi)加載到數(shù)據(jù)庫(kù)中,利用調(diào)用規(guī)范(“Call Spec”[3])發(fā)布Java方法,將Java方法、參數(shù)類(lèi)型和返回類(lèi)型映射到其SQL的對(duì)應(yīng)部分。

        2.1.2 編寫(xiě)Java源代碼

        當(dāng)開(kāi)發(fā)Java存儲(chǔ)過(guò)程時(shí),首先應(yīng)該編寫(xiě)Java源代碼。如下所示:

        2.1.3 裝載Java代碼及類(lèi)到Oracle9i數(shù)據(jù)庫(kù)中

        在編寫(xiě)了Java源代碼之后,接下來(lái)應(yīng)該將Java代碼及相應(yīng)的Java類(lèi)裝載到Oracle9i數(shù)據(jù)庫(kù)中。如圖1所示:

        圖1 Oracle9i中的Java類(lèi)

        裝載Java代碼及類(lèi)到RDBMS有以下兩種方法:

        ?使用loadjava工具,通過(guò)該工具可以快速裝載 Java 源代碼(.java)、Java 二進(jìn)制代碼(.class)以及 Java 打包文件(.jar)。

        ? 使用CREATE Java、ALTER Java裝載 Java代碼。

        2.1.4 生成調(diào)用說(shuō)明

        在裝載了Java類(lèi)之后,接下來(lái)應(yīng)該生成對(duì)public static方法的調(diào)用說(shuō)明,最終完成Java存儲(chǔ)過(guò)程的開(kāi)發(fā)工作。

        完成上述步驟之后,就完成了Java存儲(chǔ)過(guò)程的開(kāi)發(fā)工作,然后就可以調(diào)用并執(zhí)行該Java存儲(chǔ)過(guò)程了。

        2.2 使用 Java開(kāi)發(fā)過(guò)程

        過(guò)程用于執(zhí)行某種操作。需要注意的是,過(guò)程所對(duì)應(yīng)的Java方法返回值必須為空(void)。本節(jié)以創(chuàng)建用于插入、修改和刪除THEACHERS表的JSP為例,說(shuō)明使用Java開(kāi)發(fā)過(guò)程的方法。如圖2所示:

        圖2 使用Java開(kāi)發(fā)過(guò)程示例

        下面講述完成上述任務(wù)的方法及過(guò)程:

        2.2.1 編寫(xiě)Java源代碼

        程序清單如下(manipulate_teachers.java):

        /*建立到數(shù)據(jù)庫(kù)的缺省連接*/

        /*構(gòu)造動(dòng)態(tài)SQL語(yǔ)句*/

        /*使用try...catch語(yǔ)句抓取并拋出例外*/try{

        /*準(zhǔn)備動(dòng)態(tài)SQL語(yǔ)句*/

        /*設(shè)置動(dòng)態(tài)SQL參數(shù)值*/

        2.2.2 裝載Java代碼及類(lèi)到Oracle9i數(shù)據(jù)庫(kù)中

        在編寫(xiě)了Java源代碼之后,就可以將Java對(duì)象裝載到Oracle9i數(shù)據(jù)庫(kù)中了。下面是完成這項(xiàng)任務(wù)的方法:

        //設(shè)置環(huán)境變量classpath

        2.2.3 發(fā)行Java,生成調(diào)用說(shuō)明

        在裝載了Java類(lèi)后,就可以發(fā)行該Java類(lèi),并生成調(diào)用其方法的過(guò)程說(shuō)明了。下面是完成該項(xiàng)任務(wù)的方法:

        2.2.4 調(diào)用JSP

        在生成了調(diào)用Java方法的過(guò)程說(shuō)明之后,我們就可以調(diào)用JSP了。例如://插入一條記錄

        2.2.5 分析

        在這我們使用了Java存儲(chǔ)過(guò)程,與PL/SQL相比,使用Java語(yǔ)言開(kāi)發(fā)存儲(chǔ)過(guò)程只被發(fā)送到數(shù)據(jù)庫(kù)一次,相對(duì)于SQL語(yǔ)句或PL/SQL塊而言,其網(wǎng)絡(luò)通信量更小。而且當(dāng)調(diào)用Java存儲(chǔ)過(guò)程時(shí),數(shù)據(jù)庫(kù)會(huì)直接運(yùn)行該存儲(chǔ)過(guò)程,無(wú)需進(jìn)行編譯。相對(duì)于SQL語(yǔ)句或PL/SQL塊而言,它省去了編譯的時(shí)間,因此其執(zhí)行速度更快。

        2.3 使用Java開(kāi)發(fā)函數(shù)

        函數(shù)用于返回特定數(shù)據(jù)。可通過(guò)創(chuàng)建用于返回教師所教授的課程標(biāo)題,以及課程數(shù)為例,說(shuō)明使用Java開(kāi)發(fā)函數(shù)的方法。如圖3所示:

        圖3 使用Java開(kāi)發(fā)函數(shù)示例

        3 結(jié)束語(yǔ)

        任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該用到存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程可以使得對(duì)數(shù)據(jù)庫(kù)的管理、顯示關(guān)于數(shù)據(jù)庫(kù)及其用戶(hù)信息的工作容易很多。存儲(chǔ)過(guò)程可以幫助你在代碼中分離邏輯。Oracle數(shù)據(jù)庫(kù)與Java VM的集成可以創(chuàng)建可移植、功能強(qiáng)大和數(shù)據(jù)庫(kù)無(wú)關(guān)的數(shù)據(jù)邏輯和持續(xù)性邏輯。Java語(yǔ)言具有更強(qiáng)大的運(yùn)算能力,提供了更多的運(yùn)算方法,可以應(yīng)用于更多的數(shù)據(jù)庫(kù)系統(tǒng)(如 Sybase、DB2、Informix 等等)。 Java的存儲(chǔ)過(guò)程可以解決不同數(shù)據(jù)庫(kù)廠(chǎng)商使用各種專(zhuān)有的、且依賴(lài)于數(shù)據(jù)庫(kù)的實(shí)現(xiàn)語(yǔ)言的問(wèn)題。利用 Java 存儲(chǔ)過(guò)程溝通 SQL、XML、Java、J2EE 和Web服務(wù)。

        [1]Kevin Loney,Marlene Theriault等著,蔣蕊,王磊等譯.Oracle 9i DBA 手冊(cè)[M].北京:機(jī)械工業(yè)出版社,2005.

        [2]John Carnell等著,康博譯.Oracle 9i Java程序設(shè)計(jì)—使用PL/SQL和Java的解決方案[M].北京:清華大學(xué)出版社,2002.

        [3]丁岳偉,彭敦陸編著.Java程序設(shè)計(jì)[M].北京:高等教育出版社,2005.

        [4]周悅芝著.Oracle J2EE應(yīng)用開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2005.

        [5]王洪,朱銳.數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程設(shè)計(jì)及應(yīng)用[J].電子信息對(duì)抗技術(shù),2009,(2):59-63.

        RESEARCH AND DEVELOPMENT OF JAVA STORED PROCEDURES IN ORACLE

        ZHOU Lan1KONG Kun-peng2
        (1 Wuhu Vocational College of Information Technology,Wuhu Anhui 241003)
        (2 Chaohu University,Chaohu Anhui 238000)

        Stored procedure is a database object which saves plans in database server, so it runs faster.Any well designed database application should adopt stored procedure, for it makes the management of database, the display of database and users informationeasier.In this paper we analyze in detail the developing steps of stored procedure in Java.

        stored procedure in Java; Oracle9i database; function in Java

        TP311.52

        A

        1672-2868(2010)06-0030-04

        2010-06-15

        安徽省青年優(yōu)秀人才基金(項(xiàng)目編號(hào):2009SQRZ224)

        周嵐(1978-),女,安徽績(jī)溪人。蕪湖信息技術(shù)學(xué)院軟件工程系教師,講師,碩士,研究方向:軟件技術(shù)。

        責(zé)任編輯:陳 侃

        猜你喜歡
        源代碼蕪湖調(diào)用
        人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
        基于TXL的源代碼插樁技術(shù)研究
        蕪湖濱江天際線(xiàn)
        江淮法治(2020年9期)2020-07-11 04:55:44
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        蕪湖樞紐GSM-R覆蓋方案設(shè)計(jì)
        軟件源代碼非公知性司法鑒定方法探析
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        揭秘龍湖產(chǎn)品“源代碼”
        蕪湖:社區(qū)衛(wèi)生機(jī)構(gòu)公辦民營(yíng)
        亚洲av免费看一区二区三区| 国产人妻黑人一区二区三区| 久热香蕉精品视频在线播放| 丝袜美女美腿一区二区| 国产精品视频免费一区二区三区| 国产黄色一区二区在线看| 国产精品av在线| 中日av乱码一区二区三区乱码| 2021久久最新国产精品| 91久久福利国产成人精品| 亚洲最大视频一区二区三区| 亚洲av免费手机在线观看| 插我一区二区在线观看| 国产麻豆剧传媒精品国产av| 久久99国产伦精品免费| 亚洲AV小说在线观看| 婷婷开心五月亚洲综合| 国产91清纯白嫩初高中在线观看| 亚洲一区二区三区播放| 丰满爆乳一区二区三区| 精品无码成人片一区二区| 自拍偷拍韩国三级视频| 色欲av伊人久久大香线蕉影院 | 99久久婷婷国产一区| 色噜噜亚洲男人的天堂| 日韩乱码人妻无码中文字幕久久| 日韩中文字幕欧美亚洲第一区| 精品久久久久久午夜| 久久99人妖视频国产| 日本成本人片免费网站| 大地资源网最新在线播放| 一区二区三区中文字幕有码| 一级内射免费观看视频| 97se狠狠狠狠狼鲁亚洲综合色| 青青草原精品99久久精品66| 色老头一区二区三区| 国产极品喷水视频| 精品国产黄一区二区三区| 亚洲熟女乱综合一区二区| 久久国产精品波多野结衣av| 美腿丝袜美腿国产在线|