張旭輝 沈陽職業技術學院 110045
?
淺析Java中的數據庫訪問
張旭輝 沈陽職業技術學院 110045
【文章摘要】
本文介紹了在Java如何對數據庫進行存取,包括利用JDBC技術、驅動程序進行數據庫的連接、具體操作。重點講解如何設計數據管理類以減少代碼的冗余。
【關鍵詞】
數據庫;JDBC;數據管理類
Java作為一種簡單的面向對象的語言,擁有跨平臺、分布式、安全、可移植等眾多優點。在包括網絡、移動等很多領域都得到了廣泛的應用。
隨著大數據等概念的提出,現在的軟件開發越來越重視對數據的提取,很多的企業級應用程序多涉及到對數據庫中的數據進行操作。因此Java程序對數據庫的訪問和操作是Java開發中不可或缺的知識點,也是Java程序設計中重要的一個部分。
1.1JDBC原理
JDBC(Java DataBase Connectivity)是由Sun Microsystem公司提供的API (Application Programming Interface應用程序編程接口),它為Java應用程序提供了一系列的類,使其能夠快速高效地訪問數據庫,這些功能是由一系列的類和對象來完成的,我們只需使用相關的對象,即可完成對數據庫的操作。
1.2JDBC驅動程序
數據庫連接主要通過加載不同的驅動程序來完成,JDBC驅動程序類型包括以下四種:
(1)JDBC-ODBC橋加ODBC驅動程序:需要ODBC驅動。
(2)本地API:需要驅動程序的二進制代碼支持(一部分Java編寫,一部分委托給數據庫客戶端代碼實現)
(3)JDBC網絡純java驅動程序:將JDBC轉換為與DBMS無關的網絡協議,又被某服務器轉換為一種DBMS協議,以操作各種數據庫(驅動程序由中間件服務器提供)
(4)本地協議純java驅動程序:將JDBC調用直接轉換成JDBC所使用的網絡協議 (全部由Java實現,直接和數據庫訪問)

JDBC體系結構
2.1數據庫連接
(1)加載驅動(作用是把需要的驅動程序加入內存)。Class.forName("com. microsoft.sqlserver.jdbc.SQLServerDriver");這里使用的SQLServerDriver類正是我們導入的sqljdbc.jar包中含有的類。
(2)獲取連接(指定連接到哪個數據源)。Connection ct=DriverManager. getConnection("jdbc∶sqlserver∶//localhost∶1 433;DatabaseName=admin","sa","sa");local host指的是本機,如果不是可以通過主機名或者ip地址指定,1433為端口號(要通過sql的配置管理設定端口號),admin為數據庫的名字,sa和sa位登陸sql的用戶名和密碼。2.2數據庫存取
(1)創建Statement。Statement stmt=ct. createStatement();Statement作用:主要用于發送SQL語句到數據庫。
(2)執行。ResultSetrs=stmt.execute--Query(strSql);其中strSql為sql語句,查詢的結果存儲在rs中。
(3)根據需要顯示結果。調用rs的相關方法。
在實際案例中的數據訪問很多都是重復的,因為數據庫的操作無外乎增、刪、改、查,所以我們設計數據庫管理類的重點就是盡量集成代碼,消除冗余,讓代碼更加簡潔。
定義DataManager類用于數據管理,首先定義所需變量。

DataManager類中包括三個方法。
(1)打開數據連接openData用于加載驅動程序,連接數據庫,初始化相關對象。
因為任何的數據操作均需要先連接數據庫,所以將連接打開功能定義為一個方法可以較好的實現代碼的可重用性。
(2)執行非查詢語句excute用于執行刪除和添加功能,通過傳遞參數type和str來區分具體是什么操作。

(3)執行查詢語句excuteQuery用于瀏覽所有記錄和顯示條件查詢的結果,根據傳入的字符串區分,傳遞的字符串為”*“時查詢所有記錄,否則查詢學號為參數的記錄。
本文主要介紹了在Java中如何對數據庫操作,系統提供了JDBC技術實現數據庫的連接和操作。用戶可以使用JDBC API中的DriverManager、Connection、Statement 和ResultSet類來完成對數據庫的存取。重點介紹了如何定義數據管理類,從而實現數據庫的增、刪、改、查等操作。