JSP 怎麼提高資料庫訪問效率

來源:互聯網
上載者:User

當你設計一個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程式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.