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

        ?

        淺談Java通過JDBC連接Oracle數(shù)據(jù)庫技術(shù)

        2014-04-29 00:00:00韋海清

        摘 要:本文主要對Java連接Oracle數(shù)據(jù)庫技術(shù)進(jìn)行分析,討論通過JDBC的方法來進(jìn)行連接Oracle數(shù)據(jù)庫,如何實(shí)現(xiàn)對Oracle數(shù)據(jù)庫的訪問。

        關(guān)鍵詞:Java;Oracle;JDBC 數(shù)據(jù)庫;驅(qū)動程序

        中圖分類號:TP311.13

        Java程序設(shè)計(jì)語言是隨著因特網(wǎng)的發(fā)展而產(chǎn)生的,也是目前被國內(nèi)外廣泛使用的程序設(shè)計(jì)語言之一。那么由于Java語言的重要性,而且社會的需求量大,就業(yè)面廣的一些特點(diǎn)。使得做Java的一些項(xiàng)目需要訪問數(shù)據(jù)庫,特別目前比較主流的軟件開發(fā)中,都涉及到訪問數(shù)據(jù)庫的問題,下面討論在Java中如何連接大型的Oracle數(shù)據(jù)庫。

        1 JDBC 驅(qū)動 API

        1.1 JDBC簡介。JDBC是(Java DataBase Connectivity)的縮寫,它是Java應(yīng)用程序連接和操作關(guān)系型數(shù)據(jù)庫的應(yīng)用程序接口(API)。JDBC由一組類(Class)和接口(Interface)所組成,通過調(diào)用這些類和接口所提供的方法,可以連接不同的數(shù)據(jù)庫,對數(shù)據(jù)庫下達(dá)SQL命令并取得運(yùn)行結(jié)果,并為各種不同的數(shù)據(jù)庫提供統(tǒng)一的操作方式和編程思路。

        1.2 JDBC工作原理。如圖1所示,其中JDBC驅(qū)動程序管理器是JDBC體系結(jié)構(gòu)的核心,其作用是根據(jù)目標(biāo)數(shù)據(jù)沖突(包括連接方式)的不同,選擇相應(yīng)的JDBC驅(qū)動程序供當(dāng)前Java 應(yīng)用程序調(diào)用。

        圖1

        從圖中可以看出,JDBC起到了應(yīng)用程序與不同種類數(shù)據(jù)庫間連接橋梁的作用。因此當(dāng)Java程序員在編寫數(shù)據(jù)庫操作程序時(shí),可以只針對JDBC進(jìn)行編程,無須依賴特定的數(shù)據(jù)庫產(chǎn)品,基本達(dá)到寫一個Java應(yīng)用程序時(shí),適應(yīng)所的數(shù)據(jù)庫的目的。

        2 JDBC數(shù)據(jù)庫驅(qū)動程序

        驅(qū)動程序是指為計(jì)算機(jī)操作系統(tǒng)提花的訪問硬件設(shè)備的接口程序,操作系統(tǒng)通過用相應(yīng)的驅(qū)動程序來操作各種不同硬件設(shè)備,如聲卡、顯卡、網(wǎng)卡和打印機(jī)等。當(dāng)前主流數(shù)據(jù)庫產(chǎn)品發(fā)起人帶有相應(yīng)的JDBC驅(qū)動程序。通過JDBC連接可分為以下四種類型。

        2.1 JDBC-ODBC橋連接模式。這類的連接是將JDBC翻譯成ODBC,然后使用一個ODBC驅(qū)動程序與數(shù)據(jù)庫進(jìn)行通信。它也是開放數(shù)數(shù)據(jù)庫互連(OBDC)是微軟件引進(jìn)的一種數(shù)據(jù)庫訪問接口技術(shù)。唯一不足的地方就是它的速度比較低。

        2.2 Java到本地API模式。這類連接是將JDBC調(diào)用轉(zhuǎn)換為對本API的調(diào)用,用于與數(shù)據(jù)庫的客戶端API接口進(jìn)行通信,也屬于非直接的數(shù)據(jù)庫連接。在使用這種驅(qū)動程序之前,不僅需要安裝Java類庫,還需要安裝一些與平臺相關(guān)的代碼。這種驅(qū)動方式速度上快于第一種驅(qū)動模式。

        2.3 JDBC-NET的純Java驅(qū)動程序。這種模式的驅(qū)動程序?qū)DBC調(diào)用轉(zhuǎn)換成數(shù)據(jù)庫無關(guān)的網(wǎng)絡(luò)訪問協(xié)議,利用中間件將客戶端連接到不同類型的數(shù)據(jù)庫系統(tǒng)。這種驅(qū)動程序是與平臺無關(guān)的,并且與用戶訪問的數(shù)據(jù)庫系統(tǒng)無關(guān),特別適合組建三層的應(yīng)用模型,這是最為靈活的JDBC驅(qū)動程序,單個驅(qū)動程序可以對多個數(shù)據(jù)庫進(jìn)行訪問,也屬于擴(kuò)展性較好。

        2.4 本地協(xié)議的純Java驅(qū)動程序。特定的數(shù)據(jù)庫協(xié)議將JDBC請求直接發(fā)送到數(shù)據(jù)庫服務(wù)器,以實(shí)現(xiàn)程序端和數(shù)據(jù)庫間的直接通信,屬于純Java驅(qū)動程序。而且這種驅(qū)動方式是最直接,速度最快,但需要針對不同的數(shù)據(jù)庫使用不同的驅(qū)動程序。

        上面不管是采用哪種方法驅(qū)動方式訪問數(shù)據(jù)庫都很類似,但是第3、4種是純Java的驅(qū)動程序,它們都具備Java 的所有優(yōu)點(diǎn),它們在性能,可移植性,功能方面都非常有優(yōu)勢。

        3 通過JDCB驅(qū)動訪問Oracle數(shù)據(jù)庫

        3.1 JDBC訪問數(shù)據(jù)庫步驟。從設(shè)計(jì)上來說,使用JDBC類進(jìn)行編程與使用普通的Java類沒有太大的區(qū)別:可以構(gòu)建JDBC核心類的對象,如果需要還可以繼承這些類,用于JDBC編程的類都包含在java.sql和javax.sql兩個包中。

        所有的JDBC的程序的第一步都是與數(shù)據(jù)庫進(jìn)行建立連接。用戶得到一個java.sql.Connention類的對象,對于數(shù)據(jù)庫的所有操作都是基于這個對象。

        一般要經(jīng)過如下步驟:(1)加載驅(qū)動程序:Class.forName(driver);(2)建立數(shù)據(jù)庫連接:Connection con=DriverManager.getConnection(url);(3)創(chuàng)建SQL語句對象:Statement stmt=con.createStatement();(4)執(zhí)行數(shù)據(jù)庫查詢語句:ResultSet rs=stmt.executeQuery(sql);(5)查詢結(jié)果處理及關(guān)閉結(jié)果集對象:rs.close();(6)關(guān)閉語句對象:stmt.close();(7)關(guān)閉連接:con.close();

        JDBC的D riverManager查找到相應(yīng)的數(shù)據(jù)Driver并裝載。在程序中使用Class.forName()方法動態(tài)裝載并注冊Driver,如Class.forName(“sun.jdbc,odbc.JdbcOdbcDriver”),通過DriverManager.getConnection()與不同的數(shù)據(jù)庫建立連接。

        3.2 分析連接數(shù)據(jù)庫的方法。第一步:Java連接Oracle數(shù)據(jù)庫的主要語句如下:Class.forName(“數(shù)據(jù)庫驅(qū)動類的名字”);

        con=DriverManager.getConnenction(“jdbc:oracle:thin:@訪問數(shù)據(jù)庫的IP地址:Oracle端口號:MYORACL”,”username”,”password”)

        第二步:通過JDBC連接Oralce數(shù)據(jù)庫。

        String result=””; //查詢結(jié)果字符串

        String sql=”select * from emp”; //SQL字符串

        //連接字符串,格式:“jdbc:數(shù)據(jù)庫驅(qū)動名稱:連接模式:@數(shù)據(jù)庫服務(wù)器ip:端口號:數(shù)據(jù)庫SID”

        String url=”jdbc:oracle:thin:@localhost:1521myoracl”;

        String username=”scott”;//用戶名 String password=”admin”;//密碼

        Class.foraName(“oracle驅(qū)動類的名字”).newInstance();//創(chuàng)建Oracle數(shù)據(jù)庫驅(qū)動實(shí)例

        Connection conn=DriverManager.getConnection(url地址,用戶名,密碼);//獲得與數(shù)據(jù)庫的連接

        第三步:下面通過上面所說的方法樣例程序如下:

        try{

        Class.forName(\"oracle.jdbc.driver.OracleDriver\");

        Connection con=DriverManager.getConnection(\"jdbc:oracle:thin:@127.0.0.1:1521:MYORACL\",\"scott\",\"admin\");

        Statement st=con.createStatement();

        ResultSet rs=st.executeQuery(\"select * from emp\");

        while(rs.next())

        {System.out.println(\"\t\n\"+\"EMPNO:\"+rs.getString(1));

        System.out.println(\"\t\n\"+\"ENAME:\"+rs.getString(2)); }

        rs.close();st.close();con.close();

        }catch(SQLException e) { e.printStackTrace();}

        4 結(jié)束語

        隨著現(xiàn)代軟件開發(fā)技術(shù)的發(fā)展,對于訪問數(shù)據(jù)庫的技術(shù)是必需,但是采用哪種方式去訪問數(shù)據(jù)比較好,特別是針對一些大型的企業(yè),公司里面尤其重要。也將是保證數(shù)據(jù)庫系統(tǒng)安全,穩(wěn)定的保障。由于軟件技術(shù)的知識不斷在更新,本人還有很多不完善和不成熟的地方,有待提高對軟件技術(shù)的研究和改進(jìn)。

        參考文獻(xiàn):

        [1]王薇.Java程序設(shè)計(jì)與實(shí)踐教程[M].北京:清華大學(xué)出版社.2011.

        [2]許煥新.Java程序設(shè)計(jì)精講[M].北京:清華大學(xué)出版社,2010.

        [3]何洪舟.Java程序中訪問Oracle數(shù)據(jù)庫的技術(shù)分析與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2007.

        作者簡介:韋海清(1983.09-),女,廣西北流人,廣西師范大學(xué),學(xué)士學(xué)位,研究方向:軟件技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)。

        作者單位:廣西英華國際職業(yè)學(xué)院,廣西欽州 535000

        亚洲a∨无码精品色午夜| 亚洲免费不卡av网站| 日本一二三区在线视频观看 | 欧美 亚洲 国产 日韩 综AⅤ| av免费观看在线网站| 高级会所技师自拍视频在线| 熟女体下毛毛黑森林| 免费AV一区二区三区无码| 亚洲天堂免费成人av| 亚洲人成综合第一网站| 国产成人涩涩涩视频在线观看| 亚洲国产一区二区三区网| 冲田杏梨av天堂一区二区三区| 黄污在线观看一区二区三区三州| 十八18禁国产精品www| 日本高清不卡二区| 极品少妇在线观看视频| 婷婷色婷婷开心五月四| 欧美粗大猛烈老熟妇| 亚洲国产另类久久久精品小说| 青青草视频在线观看9| 精品国产yw在线观看| 日本爽快片18禁免费看| 国产亚洲午夜精品| 国产精女同一区二区三区久| 伊人大杳焦在线| a级黑人大硬长爽猛出猛进| AV无码专区亚洲AVL在线观看| 五月激情在线视频观看| 日本亚洲欧美色视频在线播放| 日韩国产一区| 一区二区三区观看在线视频| 精品无码一区二区三区的天堂| 中文字幕亚洲情99在线| 免费va国产高清不卡大片| 久久综合另类激情人妖| 成人性生交大片免费看96| 亚洲 国产 哟| 亚洲av色精品国产一区二区三区| 国产又大又硬又粗| 思思99热精品免费观看|