JSP--JDBC技術

來源:互聯網
上載者:User

標籤:

JDBC技術
1、JDBC簡介
大型網站是離不開資料庫的,使用JDBC技術連結資料庫
JDBC:java Data Base Connectivity,使用JDBC串連資料庫後資料庫的增/刪/改/查及批處理等操作
JDBC是java程式與資料庫系統通訊的標準API,定義在JDK的API中,JDBC在java程式和資料庫系統之間建立了橋樑
java程式<------->JDBC API<--------->資料庫驅動<--------->資料庫系統

2、JDBC串連資料庫的流程
 1)註冊資料庫驅動
  串連資料庫需要將資料庫廠商提供的資料庫驅動類註冊到JDBC的驅動管理器中,通常是將資料庫驅動類載入到JVM虛擬機器。
  Class.forName("com.mysql.jdbc.Driver");//載入資料庫驅動,註冊到驅動管理器
 2)構建資料庫連接URL
  這個URL一般由資料庫廠商制定,不同的資料庫的URL不同,但基本的格式都是;JDBC協議+IP地址或網域名稱+連接埠+資料庫名稱。
  MySQL資料庫的URL的字串為:"jdbc:mysql://localhost:3306/db_admin";   //db_admin是本地建立的一個資料庫名稱
 3)擷取Connection對象
  在前兩步完成後,即可通過驅動管理器擷取資料庫的Connection對象,該對象是JDBC封裝的資料庫連接對象,建立此對象後才可以對資料庫執行相關操作
  DriverManager.getConnection(url,userName,password);
  擷取Connection對象需要DriverManager對象,該對象的getConnection()方法提供資料庫連接URL,資料庫使用者名稱和密碼建立Connection對象

提示:JDK中不包含資料庫的驅動程式,使用JDBC操作資料庫需要事先下載資料庫廠商提供的驅動包,由於使用的是mysql資料庫,故添加的是MySQL官方提供的資料庫驅動包
為:mysql-connector-java-5.1.20-bin.jar    //資料庫驅動包
JDBC -------> jar包(驅動包) ---------> 操作資料庫
try{
  Class.forName("com.mysql.jdbc.Driver");
  String URL = "jdbc:mysql://localhost:3306/db_admin";
  String userName = "root";
  String password = "123";
  Connection connection = DriverManager.getConnection(URL,userName,password);
  if(connection!=null){
    System.out.println("資料庫連接成功");
  }else{
    System.out.println("資料庫連接失敗");
  }
}catch(exception ee){
  System.out.println(ee);
}

3、JDBC的核心API
JDBC核心API主要包括5個介面:
資料庫連接介面Connection
驅動程式管理類 DriverManager
執行SQL語句的Statement介面 :執行靜態SQL語句
先行編譯SQL語句的PreparedStatement介面:執行動態SQL語句
結果集ResultSet介面


DriverManager.getConnection()-----------> Connection -------> Connection.createStatement()----> Statement對象
1)DriverManager類
  負責管理JDBC驅動程式的基本服務,是JDBC的管理層,作用於使用者和驅動程式之間,負責跟蹤可用的驅動程式,並在資料庫和驅動程式之間建立串連。
  該類也處理諸如驅動程式登入時間限制,以及顯示登入和跟蹤訊息等,成功載入Driver類並在DriverManager類中註冊後,DriverManager類即可建立資料庫連接
  當調用DriverManager類的getCoonnection()方法請求建立資料庫連接時,該類將試圖定位一個適當的Driver類,並檢查定位到的Driver類是否可以建立串連,如果可以
  則建立串連並返回。否則拋出SQLException異常。
 該類主要方法:
  getConnection(String url,String user,String password)
    根據指定資料庫連接的url和使用者名稱、密碼建立資料庫連接
  getDrivers()
    擷取當前DriverManager中已載入的所有驅動程式,傳回值為:Enumeration類型
  deregisterDriver(Driver driver)
    從DriverManager的管理列表刪除一個驅動程式。
  registerDriver(Driver driver)
    向DriverManager註冊一個驅動對象,參數driver為要註冊的驅動

2)代表資料庫連接的Connection介面
  Connection介面用於建立資料庫的連結會話,只有獲得該連線物件後才能訪問資料庫,並操作資料庫
方法:
close()  關閉串連,釋放系統資源
createStatement()  建立一個Statement對象
isClosed()  檢索此Connection對象是否已經被關閉
preparedStatement(String sql)  建立一個PreparedStatement對象來將參數化的SQL語句發送到資料庫

3)執行SQL語句的Statement介面
  Statement介面用於執行靜態SQL語句,並返回一個產生結果的對象。利用該介面對象把靜態SQL語句發送到資料庫編譯執行,然後返回資料庫的處理結果
方法:
close()   釋放此Statement對象的資料庫和JDBC資源
execute(String sql)   執行給定的SQL語句,該語句可能返回多個結果
addBatch(String sql)  向Batch中添加待執行的SQL語句
executeBatch()  將一批命令提交給資料庫來執行,如果全部命令執行成功,則返回更新計數組成的數組
executeQuery(String sql)   執行給定的SQL語句,該語句返回單個ResultSet對象
executeUpdate(String sql)   執行給定的SQL語句,該語句可能為insert update delete

4)先行編譯SQL語句的PreparedStatement介面
  使用預留位置"?"代替參數,通過setXX()為SQL語句的參數賦值
execute()
executeQuery()
executeUpdate()
setBoolean(int parameterIndex,boolean x) 將指定參數設定為給定的java Boolean值
setByte(int parameterIndex,byte x)
setDate(int parameterIndex,Date x)
setInt(int parameterIndex,int x) //為SQL語句的第parameterIndex個參數賦值為x
setString(int parameterIndex,String x)

5)結果集ResultSet介面
  ResultSet介面儲存JDBC執行查詢時返回的結果。該結果集與資料庫欄位相對應。由行和列組成,並且在ResultSet結果集的行上提供指標,最初指標指向結果集的第一行之前
  調用next()方法可將指標移動到下一行,如果下一行沒有資料,則返回false,一般對結果遍曆通過while()迴圈
方法:
afterLast()    將指標移到此ResultSet對象的末尾,位於最後一行之後
beforeFirst()   將指標移到此ResultSet對象的開頭,位於第一行之前
close()         立即釋放此ResultSet對象的資料庫和JDBC資源
first()   將指標移到此ResultSet對象的第一行
getFloat(int columnIndex)  用float的形式檢索ResultSet對象的當前行中指定列的值
getInt(int columnIndex)  用Int的形式檢索ResultSet對象的當前行中指定列的值
getString(int columnIndex)   用String的形式檢索ResultSet對象的當前行中指定列的值
next()   將指標從當前位置下移一行,常用while迴圈的迭代條件
absolute(int row)   將指標移到此 ResultSet對象的給定行編號
提示:裡面的索引都是從1開始,不同於數組
   在執行deleteRow()方法時並不將操作同步到資料庫,而是在關閉ResultSet結果集時同步到資料庫
   建議每次操作資料庫結束後,依次關閉ResultSet Statement Connection
     雖然直接關閉Statement執行個體也會關閉相關的ResultSet執行個體,並且JVM虛擬機器的記憶體回收機制會定時清理緩衝並關閉長時間不用的資料庫連接,但是如果關閉不及時
     資料庫連接達到一定數量,將嚴重影響資料庫和電腦的運行速度,甚至癱瘓

6)JSP串連資料庫操作
  A:安裝好Mysql資料庫,下載驅動包:mysql-connector-java-5.1.20-bin.jar,根據資料庫的版本下載對應的驅動包
  B:把mysql-connector-java-5.1.20-bin.jar放到tomcat伺服器的lib檔案夾下
  C:使用jsp程式訪問資料庫時一定要匯入的包:java.sql.*
  D:使用伺服器內建的jar包以及JREjar包




JSP--JDBC技術

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.