成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在JSP操作中提高數據庫訪問效率

開發 后端
本文向您介紹編寫高數據量、數據密度大的Web程序時如何提高數據庫訪問效率并使JSP數據庫訪問更加整潔和容易維護。

通過JSP來進行數據庫訪問不需要太多的引導。問題是如何使開發者能夠接受Web程序的數據庫訪問比傳統的本地OLAP系統的數據庫訪問更加具有吸引力,并且使他們認識到,整潔和簡要的數據訪問方法才是關鍵的。在這一點上,JSP可以很好地解決。

你能夠做哪些?

如果你正在編寫高數據量、數據密度大的Web程序時,你的數據庫訪問應該具備哪一方面的要求?如果你正在使用JSP,那么你必須處理大量的服務器端的數據。程序也許需要大量的數據,或者很多用戶,或者這二者的結合。你所考慮的可能范圍還會包括:性能的優化,可檢測性,每一用戶的多個查詢的影響,查詢的復雜性,以及當單一的會話處理大量數據時,高等級的類型轉換。

這其中包含大規模的處理。但是,JSP能夠幫助你很好地處理,因為它能夠與Java Database Connectivity API (JDBC)很好的兼容。你可以將JDBC包含在JSP代碼中,并且JDBC能夠傳遞聲明執行類似數據庫的命令,只要你能夠正確地使用JDBC驅動程序。

開始

這里是一個通常的、抽象的JSP程序執行的體系。首選的JSP設計模式為模型-視圖-控制器(MVCModel-View-Controller),即傳統三層體系的一種變異,以更好的適合于服務器程序。在JSP的MVC設計模式中,Model指的是程序的邏輯與數據,View為查看,以及Controller為請求處理。

當你設計一個JSP程序時,在客戶端與服務器交互之間建立第一步驟的頁面,這是最好的一個過程。例如,在一個典型程序中,在數據交換中的每一個特定步驟都會有頁面:一個數據入口頁面,一個驗證請求頁面,一個數據庫響應頁面,以及這些頁面的子頁面(一個更改記錄的頁面,一個刪除記錄的頁面,等等)。

你可以將JDBC嵌入到每一頁面中,以完成被請求的數據庫訪問操作。然而,這一操作也會冒很大的風險,因為由于混合了JSP和JDBC而混合了整個程序──JDBC是基于SQL。這也就是SQL被封裝在JDBC,而JDBC也被封裝在JSP──這也足夠讓你暈頭轉向的。如果你選擇這一方法,你將會獲得你想要的功能,但一定要保證你的程序邏輯與數據庫訪問代碼的關系非常清晰,這一點格外小心。

嵌入式JDBC

JDBC API不會直接地與數據庫進行交流。其中的驅動程序完成的實際的連接,你可以在賣方的Web站點上下載這些驅動程序。除此之外,還有四種JDBC的驅動程序類型,如果你決定使用JDBC,你需要正確地選擇最為適合你需要的那種類型。你將使用一個DriverManager類來處理基于驅動程序的連接。

你可以使用一個名為getConnection的DriverManager方法來建立你的數據庫連接。你還可以使用它的URL參數來識別數據庫:

public static Connection getConnection(jdbc:odbc:nameOfDatabase)

現在,告訴DriverManager有關驅動程序的信息(應該在你的classpath中):

Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);

你已經將數據庫連接到JSP程序,但你仍然不能夠執行一個數據庫命令。解決這一點,你可以在JSP代碼中生成聲明以建立數據庫命令,如下所示:

public Statement createStatement(intresultSetType, intresultSetConcurrency)

其中的參數能夠讓你控制從數據庫查詢得到的結果。當使用第一個參數時,可以在程序中看到結果;當使用第二個參數時,你可以通過查詢來更新數值(這是一個難以相信的功能,在以后的文章中值得進一步討論)。

表A

http://builder.com.com/5100-6387-5172666.html?tag=sc#Listing

AListing A顯示列舉了下兩種方法的復雜性。

聲明(Statement)就是SQL命令。PreparedStatement就是SQL的聲明,你可以通過其中的參數來控制程序的過程。CallableStatement是用于訪問SQL存儲程序。你是否開始意識到,如果你沒有看到這些說明,你是否覺得這些聲明很復雜?請注意到,通過調用rollback方法,你可以撤除交易過程。

如果你想完全使用這些數據庫訪問的方法,你唯一遺漏的還有:

ResultSetexecuteQuery(string sqlQuery)

(你可以使用executeQuery來完成以上過程。你也可以使用一個executeUpdate來完成更新、插入和刪除)。你以上的聲明接口使你可以使用一些方法來執行SQL聲明。ResultSet所做的就是訪問從查詢得到的數據,所以你可以在JSP程序中使用這些數據。

通過將JSP程序分解成單一的、功能明顯的頁面,以及在任何給定頁面中執行一個單一的數據庫訪問操作,可以很大程度地簡化你的數據庫操作,以及建立可以用于以后程序開發的頁面,即使你將SQL嵌入到這些頁面的JDBC中。

但是你還可以做更多的事情,以使得你的JSP數據庫訪問更加整潔和容易維護。在JSP代碼中嵌入JDBC,以及通過發送SQL命令與數據庫通訊,這些過程都很好。但是,它要求在不能增加代碼復雜程度下,建立通過接口的SQL命令的程序。當你的SQL處理需要提高靈活性的時候,你可以進一步地分離你的數據庫接口代碼,以清潔你的JSP程序。

【編輯推薦】

  1. Red Hat CEO呼吁甲骨文繼續保持Java開放
  2. 自學Javabean迅速成為Java高手
  3. Java通過JNI調用C語言的方法
  4. 高手Java核心技術學習筆記
  5. 成為Java高手需要注意的25個學習目標
責任編輯:王觀 來源: 賽迪網
相關推薦

2011-03-11 17:16:02

JSP操作數據庫訪問效率

2009-03-16 09:09:18

數據庫JDBCJSP

2009-05-11 09:45:23

Visual Stud復制代碼ID

2011-05-16 13:24:00

MySQL全文搜索效率

2010-10-27 14:15:44

Oracle數據庫效率

2011-05-19 11:33:38

數據庫訪問速度

2009-06-30 15:15:30

JSP數據庫

2009-07-01 10:46:57

JSP程序JSP代碼

2011-04-02 09:23:19

MySQL數據庫查詢效率

2011-04-02 09:33:13

MySQL數據庫查詢效率

2010-04-07 17:45:22

Oracle位圖索引

2011-04-02 09:33:08

MySQL數據庫查詢效率

2009-07-06 15:57:56

獲取數據庫連接JSP

2009-07-02 09:00:25

JDBC設計JSP訪問數據庫

2009-07-03 14:10:59

2024-12-03 09:28:54

元組數據庫

2022-10-27 08:00:00

數據庫分片數據庫系統分層分區

2020-11-26 10:29:01

Redis

2010-05-13 14:27:52

訪問MySQL

2021-08-18 15:08:00

數據中心云計算IT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲福利片 | 国产91一区二区三区 | 国产一区二区精品自拍 | 九九久久精品视频 | 91看片官网 | 国产精品亚洲片在线播放 | 天天拍天天射 | 午夜精品久久久久久久99黑人 | 精品国产免费人成在线观看 | 国产999精品久久久 午夜天堂精品久久久久 | 国产精品一区二区无线 | 国产98色在线 | 日韩 | 久久久国产视频 | 91看片视频 | 欧美日韩国产三级 | 久久国产综合 | 成人欧美一区二区三区黑人孕妇 | 性高湖久久久久久久久aaaaa | 天天操夜夜操 | 成人黄在线观看 | 国产激情在线 | 一区二区三区四区免费在线观看 | 国产一级大片 | 国产欧美日韩综合精品一区二区 | 天天插日日操 | 好婷婷网 | 久久69精品久久久久久久电影好 | 成人精品系列 | 欧美一级www片免费观看 | 91精品久久久久久久久中文字幕 | 日韩1区 | 91精品国产一区二区三区 | 搞av.com| 亚洲黄色av | 国产一区在线视频 | 久久国产精品免费一区二区三区 | www国产亚洲精品久久网站 | 韩日一区二区 | 色欧美片视频在线观看 | 日韩无| 国产高清免费视频 |