張景輝
摘要:進入21世紀以來,信息化技術取得了迅猛的發展,計算機的應用范圍也越來越廣泛,而在計算機技術發展的基礎上,數據庫管理技術也得到了極大的發展,該技術也是當今時代數據庫管理的主要技術工具,而Java數據庫的開發也就是在此技術的基礎上發展來的,該文對基于Java數據庫的開發技巧及應用進行了簡要的探求,以期為數據庫開發技術的進步做出一些貢獻。
關鍵詞:Java;數據庫;開發;技巧;應用
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)33-0068-02
開放科學(資源服務)標識碼(OSID):
Java作為一種程序設計語言,與數據庫的開發當中有著廣泛的應用,其主要是通過JBDC來進行相應的訪問,通過有效連接,利用SQL語句來執行相關的工作,并得到最終的結果。一般情況下,利用JBDC進行查詢訪問時是不會出現問題的,但是其查詢時的效率卻相對來說比較低。在企業的應用當中,雖然根據規范的編寫程序能夠保證數據的正確查詢,但是所需要的時間卻比較長,預期效果不是特別的理想。因此,對語言內部的一些內容進行深入探析,找到這一問題的根本原因,才能真正解決其工作效率較低的問題。
1 JDBC技術概述
1.1 JDBC訪問數據庫簡介
當前,訪問數據庫的方法主要有兩種,一種是JDBC的方法,另一種是ODBC的方法。ODBC主要是利用C語言來實現API,其所運用的是C語言的接口,這一方法在數據庫訪問當中應用的范圍還是很大的,但是其也存在一些不足,同時這種方式相對來說難度要高一些。另一種就是常見的JDBC方法,其是利用Java語言來進行訪問的,而且相對于C語言的接口訪問來講更為簡單,因此,在計算機數據庫訪問技術當中,Java程序員在應用當中采用更多的就是JDBC的訪問方法。
1.2 JDBC在Java WEB中的應用
在Java WEB當中,JDBC訪問方法的應用是非常廣泛的,一般情況下,JDBC能夠通過WEB來執行對數據的查詢工作。當前,數據庫的框架搭建當中依然主要是利用JDBC API來進行搭建。在實際工作當中,Java WEB融入JBDC的時候,為了能夠使連接更加順利,一般會采用一些處理技巧,重點突出MVC理念,如此一來,WEB程序的應用范圍就能夠得到較大的擴展。MVC是一種代碼,其中M代表的是相關數據庫的模型,V代表的是用戶使用時的相關界面,C代表的是控制器。將MVC融入WEB程序當中,對于形成有效的代碼具有重要的作用,在相同的程序中進行使用,也可以將不同的表達方式呈現出來。
傳統的程序體系開發中,其對于程序的分層重視程度不夠,其中各個方面的代碼相對來說都是比較混亂的,在這種情況下,就會使得程序的表現并不是特別順暢。如果應用傳統的程序體系對相應的軟件進行維護或者升級時,其需要耗費的精力更多,而且有的情況下還會因為前期沒有進行合理的安排,導致后續的維護升級工作無法順利開展,混亂的代碼極大地增加了工作量。將MVC理念應用到數據庫開發設計當中,能夠有效解決傳統程序體系開發當中的代碼混亂的問題,其能夠將理論層面與控制層面相互分開,這樣的話,就可以單獨對其進行控制,在代碼編寫當中根據不同的層級來進行相應的代碼編寫,這樣就使得整個程序體系更加有條理,而且在后期的維護和升級擴展當中,也可以根據不同的層級來進行相應的調整,極大地提升了工作的效率。
2 各種模式的JDBC接口
JDBC分為兩種API,一種是面向程序開發人員的JDBC API,另一種是面向底層的JDBC Driver API。
2.1 JDBC API
通常情況下,JDBC API存在四個重要的接口,Java.sql.Driver manage選擇數據庫驅動程序的裝載,支持新的數據庫的連接;Java.sql.Connection連接特定的數據庫;Java.sql.Statement連接數據庫執行sql語句;Java.sql.Resultset執行SQL語句返回結果集。
2.2 Jdbc Driver API
JDBC驅動程序中具有四種類型,JDBC-ODBC橋、本機API、面向數據庫中間件的純Java驅動程序和直接面向對象數據庫的純Java驅動程序。
1)JDBC-ODBC橋
JDBC-ODBC橋能夠在程序當中實現JDBC操作和ODBC操作之間的轉換,這種技術可以將不同的數據庫進行有效的連接,但是其在應用當中也存在一些弊端,例如這類驅動程序對于本地庫有著較強的依賴性,因而其可移植性則比較弱,在語句的執行當中效率較低,而且,因為其需要依靠本地庫來進行工作,所以在跨平臺性能方面也比較弱。
2)本機API
本機API驅動有效地實現了JDBC調用和本地API調用之間的轉換,其可以將查詢結果反饋給JDBC驅動器,然后由JDBC驅動器對相關結果進行轉化,最后以JDBC的形式返回給客戶端。這種驅動程序相對于JDBC-ODBC橋而言,具有更多的優勢,在工作效率方面得到了較大幅度的提升,但是其在應用過程當中依然就要利用到數據庫廠商所提供的代碼庫,在可移植性能等方面沒有得到質的提升。
3)面向數據庫中間件的純Java驅動程序
這類驅動是將JDBC調用翻譯成為一種網絡協議,其協議與數據庫之間不存在直接的聯系,可以利用中間件將不同的數據庫進行連接。這類驅動的優勢相對來說比較明顯,其可以對各種不同的數據庫進行訪問,不再受到平臺的限制,在多層結構應用軟件體系結構當中有著廣泛的應用,執行效率也比較高。
4)直接面向對象數據庫的純Java驅動程序
這類驅動程序是完全由Java語言來實現的,其更加簡便,不像是其他的那些程序,想要實現數據庫的連接還需要通過軟件或者中間件來搭建橋梁。這種驅動程序能夠直接按照相關的數據庫系統規范要求進行轉化,其與數據庫服務器之間連接的距離更多,流程更少,因而其工作效率也更高,但是這也與其特定的數據庫有著直接的聯系。Ejb技術能夠對各種復雜的數據庫信息進行處理,并且還能夠完成不同類型之間信息資源的共享和統計查詢工作,通過Ejb技術使得電子商務或者電子政府等不同領域的信息能夠實現更好地傳遞和轉換。
3 基于Java的數據庫開發技巧
3.1 設置Java數據庫的連接方法
基于Java數據庫的開發,需要一個總的數據庫驅動器和一個中間的數據庫服務器,當前微軟的數據庫也是應用最為廣泛的數據庫服務器。除了微軟的數據庫服務器之外,開發者也可以采用一些別的數據庫服務器,因為對于Java語言來講,其受到服務器類型的影響并不是很大,而這種特別的訪問數據庫的方式也是Java語言的巨大優勢。其次,一個良好的數據庫驅動器也是非常重要的,其不僅能夠設置不同機號的數據源,從而保障正常的連接,并且其還能夠實現同步訪問,利用不同的數據庫連接方法能夠對Java程序進行編制程序,這就要求開發人員首相要對JABC驅動器的相應類群接口進行接管,轉入JDBC-forname驅動器,在Class類中尋找JDBC Java Drive驅動執行的語句,從而進行有效的數據庫連接,其主要形式為get Connection,具體形式為String url、String Password和String Userid。其中用得最多的是url,其可以與不同的數據庫之間實現有效連接。
3.2 有效地進行Java數據庫的連接
有效的數據庫連接需要用到DriverManage類的getConnection,getConnection采用返回具體對象的方式與方法建立起與Java數據庫的連接。Java中一個重要的對象及時SQL,SQL語言的對于數據庫連接的情況影響到整個Java數據庫,SQL包含了眾多不同的接口對象,因此其在連接當中也可以根據一些常規的方式來進行有效的連接,這些數據庫的交互連接的方法對于數據庫中數據的管理和控制也具有直接的影響。例如getConncetion接口的一些重要方法為:首先,先行關閉其中的一個數據庫的連接,然后返回到下一個對象的databasemetadata接口,這一個接口就是得到相關數據庫信息的主要接口,其能夠得到數據庫結構和內容等眾多信息。創建的普通的SQL輸入對象語句一般情況下都是由字符來構成的,其可以通過相關程序對語句進行預處理,這樣就使得提前處理過的對象在下一步的運用可以實現更加高效的編譯,從而提升工作效率。
3.3 利用查詢結果進行Java科學的集整工作
集整工作在Java數據庫的開發當中具有非常重要的意義,在數據庫中將相應的語句執行之后,其查詢結果能夠將Java語句在數據庫開發當中的各項要素進行全面的呈現,從而使開發人員能夠清晰、直觀地看到Java語句存在的問題和優勢。通常情況下,查詢結果會通過兩個數據庫表來進行對比展現,作為Resultset接口的重要查詢數據表,Resultset的對象是最終的查詢結果。在實際執行當中,從指針從初始位置開始移動,指向數據表的下一行,作為返回查詢的對象指針,也會在每次訪問之后,指向數據表當中最為明顯的一行,在提供的Resultset接口的眾多方法當中,布爾值是一種能夠全面反映數據的方法,其能夠對任意位置的數據通過查詢顯示出查詢結果,并且還能夠根據相關規則來開展集整工作,這樣對于提升工作效率具有極大的促進作用,同時其還進一步提升了SQL語句的執行效率。
4 結束語
Java語言和Java數據庫開發對于當前數據庫設計具有重要的意義,同時其也是未來Java數據庫開發的重要導向,通過對Java數據庫開發技巧進行深入分析,對于提升Java數據庫的數據處理效率,具有重要的意義。
參考文獻:
[1] 劉琴.基于Java數據庫編程及其應用分析[J].信息與電腦(理論版),2020,32(15):152-154.
[2] 王循.Java Web快速開發框架中部分關鍵技術初步研究[D].長春:吉林大學,2015.
[3] 趙爭東.基于Java的數據庫應用框架的研究設計和探索[J].信息系統工程,2015(7):79,81.
[4] 蔣幫寶.基于Java的數據庫應用框架的研究設計[J].軟件工程師,2013,16(9):35-37.
[5] 陳虹君.Java Web與數據庫連接池技術的應用研究與實踐[D].成都:電子科技大學,2008.
[6] 張秀玲.利用Java技術開發Java數據庫應用系統[J].西北煤炭,2003,1(1):47-49.
[7] 朱涇文.基于Java的多層體系結構數據庫應用的研究與開發[D].南京:河海大學,2001.
[8] Sommer B.The CELLmicrocosmos tools:a small history of Java-based cell and membrane modelling open source software development[J].Journal of Integrative Bioinformatics,2019,16(3).
【通聯編輯:李雅琪】