亚洲免费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

        中国黄色偷拍视频二区| 熟妇的荡欲色综合亚洲| 午夜久久久久久禁播电影| 奇米影视7777久久精品| 成人三级a视频在线观看| a观看v视频网站入口免费| 久久中文字幕久久久久91| 亚洲国产一区二区视频| 91久久精品国产综合另类专区| 亚洲日韩久久综合中文字幕| 中文字幕一区二区三区精华液| 国产av综合一区二区三区最新| 国产精品成人有码在线观看| av中国av一区二区三区av| 国产播放隔着超薄丝袜进入| 国产伦精品一区二区三区免费| 天天干夜夜躁| 色婷婷一区二区三区四| 国产嫩草av一区二区三区| 中文字幕网伦射乱中文| 欧美日韩精品一区二区在线观看| 亚洲综合伦理| 国产麻豆极品高清另类| 中国国产不卡视频在线观看 | 青青草视频在线视频播放| 五月婷婷丁香视频在线观看| 99精品久久99久久久久| 日日碰狠狠添天天爽无码| 无码中文日韩Av| 玩弄丝袜美腿超短裙校花| 99人中文字幕亚洲区三| 国产成人精品午夜视频| 国内少妇偷人精品视频免费| 日本精品人妻在线观看| 亚洲精品第四页中文字幕 | 亚洲av色先锋资源电影网站| av网站入口在线免费观看| 久久一区二区国产精品| 在线看片免费人成视频电影| 熟妇人妻中文字幕无码老熟妇| 亚洲伊人成综合人影院|