JDBC是由java編程語言編寫的類及接口組成,同時它為程序開發人員提供了一組用於實現對數據庫訪問的JDBC API,並支持SQL語言。利用JDBC可以將JAVA代碼連接到oracle、DB2、SQLServer、MYSQL等數據庫,從而實現對數據庫中的數據操作的目的。
一、JDBC簡介
JDBC全稱為:Java Data Base Connectivity (java數據庫連接),可以為多種數據庫提供填統一的訪問。JDBC是sun開發的一套數據庫訪問編程接口,是一種SQL級的API。它是由java語言編寫完成,所以具有很好的跨平台特性,使用JDBC編寫的數據庫應用程序可以在任何支持java的平台上運行,而不必在不同的平台上編寫不同的應用程序。
JDBC的主要功能如下:
(1)建立與數據庫或者其他數據源的鏈接
(2)向數據庫發送SQL命令
(3)處理數據庫的返回結果
二、JDBC中常用類和接口
連接到數據庫(Connection)、建立操作指令(Statement)、執行查詢指令(executeQuery)、獲得查詢結果(ResultSet)等。
1、驅動程序管理類(DriverManager)
DriverManager類是JDBC的管理類,作用於用戶和驅動程序之間。它跟蹤在可用的驅動程序,並在數據庫和相應驅動程序之間建立連接。另外,DriverManager類也處理諸如驅動程序登陸時間限制及登錄和跟蹤消息的顯示事務。對於簡單的應用程序,一般程序員需要在此類中直接使用唯一的方法時DriverManager.getConnection()。該方法將建立與數據庫的鏈接。JDBC允許用戶調用DriverManager的方法getDriver()、getDrivers()和registerDriver()及Driver的方法connect().
2、聲明類(Statement)
Statement對象用於將SQL語句發送到數據庫中。實際上有三種Statement對象,它們都作為在給定鏈接上執行SQL語句的包容器:Statement、PreparedStatement(它從Statement繼承而來)和CallableStatement(它從PreparedStatement繼承而來)。它們都專用於發送特定類型的SQL語句:
(1)Statement對象用於執行不帶參數的簡單的SQL語句;Statement接口提供了執行語句和獲取結果的基本方法。
(2)PerparedStatement對象用於執行帶或不帶IN參數的預編譯SQL語句;PeraredStatement接口添加處理IN參數的方法;
(3)CallableStatement對象用於執行對數據庫已存儲過程的調用;CallableStatement添加處理OUT參數的方法。
Statement提供了許多方法,最常用的方法如下:
(1)execute()方法:運行語句,返回是否有結果集。
(2)executeQuery()方法:運行查詢語句,返回ReaultSet對象。
(3)executeUpdata()方法:運行更新操作,返回更新的行數。
(4)addBatch()方法:增加批處理語句。
(5)executeBatch()方法:執行批處理語句。
(6)clearBatch()方法:清除批處理語句。
3、數據庫連接類 (Connection)
Connection對象代表與數據庫的鏈接。連接過程包括所執行的SQL語句和在該連接上所返回的結果。一個應用程序可與單個數據庫有一個或多個連接,或者可與很多數據庫有連接。打開連接與數據庫建立連接的標准方法是調用DriverManager.getConnection()方法。
String url="jdbc:mysql://127.0.0.1:3306/imooc";
String user="root";
String password="tiger";
DriverManager.getConnection(url,user,password);
4、結果集合類 (ResultSet)
ResultSet包含符合SQL語句中條件的所有行記錄,並且它通過一套get方法(這些get方法可以訪問當前行中的不同列)提供了對這些行中數據的訪問。ResultSet.next()方法用於移動到ResultSet中的下一行,使下一行成為當前行。
5、JDBC編程步驟
(1)加載驅動程序:Class.forName(driverClass)
加載mysql驅動:Class.forName("com.mysql.jdbc.Driver");
加載oracle驅動:Class.forName("oracle.jdbc.driver.OracleDriver");
(2)獲得數據庫連接
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc",user,password);
DriverManager.gerConnection(URL,user,password);
(3)創建Statement對象:conn.createStatement();
(4)向數據庫發送SQL命令
(5)處理數據庫的返回結果(ResultSet類)
1 public class Test{ 2 private int age; 3 private String name; 4 }