mybais學習(一)————純jdbc編程
-
什麽是JDBC
JDBC(Java Data Base Connectivity,java數據庫連接)是一種用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序。
-
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)Connection
Connection對象代表與數據庫的鏈接。連接過程包括所執行的SQL語句和在該連接上所返回的結果。一個應用程序可與單個數據庫有一個或多個連接,或者可與很多數據庫有連接。打開連接與數據庫建立連接的標準方法是調用DriverManager.getConnection()方法。
Connection conn = DriverManager.getConnection(URl,USER,UPASS) //URL為數據庫連接地址,USER和UPSS為數據庫連接的用戶名和密碼
3)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()方法:清除批處理語句
4)ResultSet
ResultSet包含符合SQL語句中條件的所有行記錄,並且它通過一套get方法(這些get方法可以訪問當前行中的不同列)提供了對這些行中數據的訪問。ResultSet.next()方法用於移動到ResultSet中的下一行,使下一行成為當前行。
以下是一段簡單的JDBC代碼
package com.zk.practice; /** * @Author: Joyun * @DATE: 2019/1/26 14:33 */ public class User { private String uid; private String uname; private String upass; public User(String uid,String uname ,String upass){ this.uid = uid; this.uname = uname; this.upass = upass; } public String getUid() { return uid; } public String getUname() { return uname; } public String getUpass() { return upass; } public void setUid(String uid) { this.uid = uid; } public void setUname(String uname) { this.uname = uname; } public void setUpass(String upass) { this.upass = upass; } }User類
mybais學習(一)————純jdbc編程