張旭輝 沈陽職業(yè)技術(shù)學院 110045
?
淺析Java中的數(shù)據(jù)庫訪問
張旭輝 沈陽職業(yè)技術(shù)學院 110045
【文章摘要】
本文介紹了在Java如何對數(shù)據(jù)庫進行存取,包括利用JDBC技術(shù)、驅(qū)動程序進行數(shù)據(jù)庫的連接、具體操作。重點講解如何設(shè)計數(shù)據(jù)管理類以減少代碼的冗余。
【關(guān)鍵詞】
數(shù)據(jù)庫;JDBC;數(shù)據(jù)管理類
Java作為一種簡單的面向?qū)ο蟮恼Z言,擁有跨平臺、分布式、安全、可移植等眾多優(yōu)點。在包括網(wǎng)絡(luò)、移動等很多領(lǐng)域都得到了廣泛的應(yīng)用。
隨著大數(shù)據(jù)等概念的提出,現(xiàn)在的軟件開發(fā)越來越重視對數(shù)據(jù)的提取,很多的企業(yè)級應(yīng)用程序多涉及到對數(shù)據(jù)庫中的數(shù)據(jù)進行操作。因此Java程序?qū)?shù)據(jù)庫的訪問和操作是Java開發(fā)中不可或缺的知識點,也是Java程序設(shè)計中重要的一個部分。
1.1JDBC原理
JDBC(Java DataBase Connectivity)是由Sun Microsystem公司提供的API (Application Programming Interface應(yīng)用程序編程接口),它為Java應(yīng)用程序提供了一系列的類,使其能夠快速高效地訪問數(shù)據(jù)庫,這些功能是由一系列的類和對象來完成的,我們只需使用相關(guān)的對象,即可完成對數(shù)據(jù)庫的操作。
1.2JDBC驅(qū)動程序
數(shù)據(jù)庫連接主要通過加載不同的驅(qū)動程序來完成,JDBC驅(qū)動程序類型包括以下四種:
(1)JDBC-ODBC橋加ODBC驅(qū)動程序:需要ODBC驅(qū)動。
(2)本地API:需要驅(qū)動程序的二進制代碼支持(一部分Java編寫,一部分委托給數(shù)據(jù)庫客戶端代碼實現(xiàn))
(3)JDBC網(wǎng)絡(luò)純java驅(qū)動程序:將JDBC轉(zhuǎn)換為與DBMS無關(guān)的網(wǎng)絡(luò)協(xié)議,又被某服務(wù)器轉(zhuǎn)換為一種DBMS協(xié)議,以操作各種數(shù)據(jù)庫(驅(qū)動程序由中間件服務(wù)器提供)
(4)本地協(xié)議純java驅(qū)動程序:將JDBC調(diào)用直接轉(zhuǎn)換成JDBC所使用的網(wǎng)絡(luò)協(xié)議 (全部由Java實現(xiàn),直接和數(shù)據(jù)庫訪問)
JDBC體系結(jié)構(gòu)
2.1數(shù)據(jù)庫連接
(1)加載驅(qū)動(作用是把需要的驅(qū)動程序加入內(nèi)存)。Class.forName("com. microsoft.sqlserver.jdbc.SQLServerDriver");這里使用的SQLServerDriver類正是我們導入的sqljdbc.jar包中含有的類。
(2)獲取連接(指定連接到哪個數(shù)據(jù)源)。Connection ct=DriverManager. getConnection("jdbc∶sqlserver∶//localhost∶1 433;DatabaseName=admin","sa","sa");local host指的是本機,如果不是可以通過主機名或者ip地址指定,1433為端口號(要通過sql的配置管理設(shè)定端口號),admin為數(shù)據(jù)庫的名字,sa和sa位登陸sql的用戶名和密碼。2.2數(shù)據(jù)庫存取
(1)創(chuàng)建Statement。Statement stmt=ct. createStatement();Statement作用:主要用于發(fā)送SQL語句到數(shù)據(jù)庫。
(2)執(zhí)行。ResultSetrs=stmt.execute--Query(strSql);其中strSql為sql語句,查詢的結(jié)果存儲在rs中。
(3)根據(jù)需要顯示結(jié)果。調(diào)用rs的相關(guān)方法。
在實際案例中的數(shù)據(jù)訪問很多都是重復的,因為數(shù)據(jù)庫的操作無外乎增、刪、改、查,所以我們設(shè)計數(shù)據(jù)庫管理類的重點就是盡量集成代碼,消除冗余,讓代碼更加簡潔。
定義DataManager類用于數(shù)據(jù)管理,首先定義所需變量。
DataManager類中包括三個方法。
(1)打開數(shù)據(jù)連接openData用于加載驅(qū)動程序,連接數(shù)據(jù)庫,初始化相關(guān)對象。
因為任何的數(shù)據(jù)操作均需要先連接數(shù)據(jù)庫,所以將連接打開功能定義為一個方法可以較好的實現(xiàn)代碼的可重用性。
(2)執(zhí)行非查詢語句excute用于執(zhí)行刪除和添加功能,通過傳遞參數(shù)type和str來區(qū)分具體是什么操作。
(3)執(zhí)行查詢語句excuteQuery用于瀏覽所有記錄和顯示條件查詢的結(jié)果,根據(jù)傳入的字符串區(qū)分,傳遞的字符串為”*“時查詢所有記錄,否則查詢學號為參數(shù)的記錄。
本文主要介紹了在Java中如何對數(shù)據(jù)庫操作,系統(tǒng)提供了JDBC技術(shù)實現(xiàn)數(shù)據(jù)庫的連接和操作。用戶可以使用JDBC API中的DriverManager、Connection、Statement 和ResultSet類來完成對數(shù)據(jù)庫的存取。重點介紹了如何定義數(shù)據(jù)管理類,從而實現(xiàn)數(shù)據(jù)庫的增、刪、改、查等操作。