方是源
摘要
數(shù)據(jù)庫建設(shè)過程中,程序設(shè)計師經(jīng)常采用Java語言。隨著Java語言越來越廣泛的應(yīng)用于軟件開發(fā)中,計算機技術(shù)人員研究熱點問題中也包含了Java語言及數(shù)據(jù)庫訪問技術(shù)。本文在介紹Java語言常用的訪問數(shù)據(jù)庫途徑的基礎(chǔ)上,分析了基于Java語言實現(xiàn)數(shù)據(jù)庫訪問的方法。
【關(guān)鍵詞】Java語言 數(shù)據(jù)庫訪問 實現(xiàn)
目前,軟件開發(fā)時的關(guān)鍵性技術(shù)之一為數(shù)據(jù)庫訪問技術(shù),在整個應(yīng)用程序中,數(shù)據(jù)庫訪問技術(shù)所具備的“健壯性”與“伸縮性”是獨一無二的,因而吸引大量設(shè)計人員研究有效訪問數(shù)據(jù)庫的技術(shù)。“健壯”、“安全”等是Java語言自身所具備的越突出特點,與數(shù)據(jù)庫訪問技術(shù)之間存在一定的關(guān)聯(lián)性,在Java語言基礎(chǔ)上,開發(fā)訪問數(shù)據(jù)庫的技術(shù),可將訪問效率極大的提升,并對程序性能指標(biāo)作出優(yōu)化,意義重大。
1 Java語言常用的訪問數(shù)據(jù)庫的途徑
1.1 JDBC技術(shù)
JDBC,Java數(shù)據(jù)庫連接的英文名稱簡稱。JDBC技術(shù)執(zhí)行命令的Java API時,可在SQL語句中進行,組成包含兩部分,一部分為此語言的一組類,另一部分為接口。通過JDBC技術(shù),計算機專業(yè)人員在使用數(shù)據(jù)庫時,會獲得不一樣的體驗,通過Java語言,快速訪問數(shù)據(jù)庫可隨時隨地的實現(xiàn)。
1.2 JPA技術(shù)
JPA,Java持久化,該項技術(shù)工作時,注解經(jīng)JDK5.0進行,或?qū)ο?關(guān)系表映射關(guān)系利用XML描述,同時,實體對象處于運行期時,可持久化到數(shù)據(jù)庫中。JPA技術(shù)的特點包含標(biāo)準(zhǔn)化執(zhí)行程序、具有優(yōu)秀查詢能力等,獲得專業(yè)人士的廣泛關(guān)注。
1.3 JNDI技術(shù)
JNDI,Java命名和目錄接口,具有標(biāo)準(zhǔn)性,提供公司為SUN公司。開發(fā)人員在開發(fā)數(shù)據(jù)庫時,通過JDNI技術(shù),接口能夠?qū)崿F(xiàn)統(tǒng)一、通過,可對各種命名與目錄做出查找與訪問,使訪問數(shù)據(jù)庫的便利性及效率均得到提升,真正的關(guān)聯(lián)了命名與對象。
2 基于Java語言的數(shù)據(jù)庫訪問的實現(xiàn)
2.1 建立數(shù)據(jù)庫,設(shè)置數(shù)據(jù)源
Microsoft Access所具有的數(shù)據(jù)庫功能是完善的,使用時可作為獨立的DBMS,可用于PC機上數(shù)據(jù)庫的開發(fā)。在Microsoft Access組建的數(shù)據(jù)庫中,包含若干個表,這些表間相互關(guān)聯(lián),本文以此種數(shù)據(jù)庫為例時,表共包含2個,一個為tbinformationl表,結(jié)構(gòu)包含id、name、phone、address、email;另一個為tbinformation2表,結(jié)構(gòu)包含id、uaerid、department、score、trail。在前一個表的id與后一個表的userid字段之間,設(shè)置相同的內(nèi)容,建立兩個表的聯(lián)系。制好數(shù)據(jù)庫后,將計算機“開始”菜單打開,找到“控制面板”,將ODBC數(shù)據(jù)源啟動,根據(jù)數(shù)據(jù)庫,完成其驅(qū)動器與數(shù)據(jù)源的設(shè)置。
2.2 編寫訪問數(shù)據(jù)庫的Java應(yīng)用程序
設(shè)計人員編寫時,通常需要進行4件事。
2.2.1 加載JDBC-ODBC橋驅(qū)動程序
為能連接特定數(shù)據(jù)源,相應(yīng)驅(qū)動程序是JDBC必須要加載的,加載時,可采用顯式方法,即Class.for Name方法。
2.2.2 連接數(shù)據(jù)庫
連接數(shù)據(jù)源時,可采用的方法為get Connection,此方法處于Driver Manager類。Database Connection語句連接source URL對象指定的數(shù)據(jù)源。通過JDBC URL,可對數(shù)據(jù)庫驅(qū)動器做好標(biāo)識,利用冒號,將其劃分為協(xié)議、子協(xié)議、子名稱3部分。在JDBC中,應(yīng)用時如數(shù)據(jù)庫驅(qū)動器使用不同的,訪問層會通過相應(yīng)的類來實現(xiàn)通用,以保障訪問順利進行。Connection類代表連接數(shù)據(jù)庫過程中,SQL語句被執(zhí)行,而且返回結(jié)果也包含在此過程中。對于一個應(yīng)用程序來說,可一個或多個連接單個數(shù)據(jù)庫,也能連接多個數(shù)據(jù)庫。
2.2.3 執(zhí)行SQL查詢語句
SQL查詢語句執(zhí)行之前,要將Statement對象先建立出來,并以my Statement命名之后建立的語句。實際上,此對象包含三種,一種為對象自身,一種是對象繼承而來的Prepared Statement,第二種是繼承第二種后形成的Callable Statement。SQL語句簡單且不帶參數(shù)時,執(zhí)行利用此對象自身;SQL語句預(yù)編譯且IN參數(shù)帶或不帶時,執(zhí)行利用第二種對象;調(diào)用數(shù)據(jù)庫己存儲過程時,執(zhí)行采用第三種對象。此對象創(chuàng)建以后,SQL語句即可利用其執(zhí)行,而且結(jié)果集對象會產(chǎn)生。SQL語句執(zhí)行過程中,決定采用哪種Statement接口的因素為語句需要產(chǎn)生的內(nèi)容,例如,語句需要產(chǎn)生的為單個結(jié)果集,可利用execute Query方法。2.2.4 處理對數(shù)據(jù)庫的查詢結(jié)果
處理author Results對象后,方可向用戶顯示查詢結(jié)果。在該對象中包含一個表,此表由查詢語句返回,所有查詢結(jié)果均包含在此表中。處理該對象過程中,需要采取逐行的方法,不過,處理每一行中包含的列時,對處理順序不做任何要求,可隨意進行。get方法位于Result Set類中,訪問上述行中的數(shù)據(jù)時,可利用此種方法,并于SQL數(shù)據(jù)類型內(nèi)集中結(jié)果,同時對其作出轉(zhuǎn)變,使數(shù)據(jù)類型變?yōu)镴ava。
通過以上4個步驟,可完成訪問數(shù)據(jù)庫的Java程序的編寫工作,有效的實現(xiàn)訪問、查詢數(shù)據(jù)庫。
3 結(jié)論
利用Java語言編寫訪問數(shù)據(jù)庫的技術(shù)時,有利于提升數(shù)據(jù)庫訪問的便利性,并提高訪問的效率,優(yōu)勢較多,具有十分廣闊的發(fā)展前景,數(shù)據(jù)庫開發(fā)人員應(yīng)積極主動的學(xué)習(xí)Java語言,了解Java語言的特點,開發(fā)出通用于各個領(lǐng)域的數(shù)據(jù)庫訪問技術(shù)。
參考文獻
[1]付宗見,楊志獻.基于數(shù)據(jù)庫訪問有效實現(xiàn)的Java語言運用探析[J].電腦知識與技術(shù),2014(24):5595-5596.
[2]周春容,肖祥林,劉耕.基于Java Reflection的數(shù)據(jù)庫訪問通用模型設(shè)計與實現(xiàn)[J].現(xiàn)代計算機(專業(yè)版),2014(04):44-48.