亚洲免费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片3d| 伊人精品成人久久综合97| 亚洲国产美女高潮久久久| 国产一区二区女内射| 在线亚洲综合| 日本精品人妻一区二区三区| 亚洲AV秘 片一区二区三区 | 国产精品综合女同人妖| 麻豆md0077饥渴少妇| 国产超碰人人做人人爱ⅴa| 亚洲a人片在线观看网址| 国产蜜桃传媒在线观看| 婷婷综合另类小说色区| 日韩av高清无码| 无码精品国产午夜| 91精品国产91综合久久蜜臀| 国产午夜毛片v一区二区三区| 国内揄拍国内精品| 亚洲av乱码国产精品色| 亚洲精选自偷拍一区二| 成人免费无码大片a毛片软件| 无码熟妇人妻AV影音先锋| 久久天堂精品一区专区av| 国产一区二区视频在线免费观看 | 国产一品二品精品在线| 精品人妻午夜一区二区三区四区| 久久综合五月天| 国产91大片在线观看| 亚洲va久久久噜噜噜久久天堂| 黑人玩弄人妻中文在线| 亚洲无码vr| 久久国产精品婷婷激情| 国语对白做受xxxxx在线| 色伊人国产高清在线| 综合成人亚洲网友偷自拍| 国产专区一线二线三线码| 精品人妻少妇一区二区不卡| 国产精品人成在线765| 亚洲av综合色区无码一区| 999久久久免费精品国产| 精品久久久亚洲中文字幕|