JDBC連接數據庫實現刪除功能


這次同樣運用之前寫過的部分代碼進行改變,實現一個刪除功能,這個功能很好添加,表單中只要form一個參數到DeleteServlet中,所以重點的代碼還是在DeleteServlet中實現業務邏輯。

 

我們運用到的SQL語句是.

 String sql = "delete from tb_book where id=?";

 

所以需要表單form的時候要傳進一個id值。然后我們根據id值來進行刪除該id的數據

 

 

1

首先我們先看看本次的工程

JDBC連接數據庫實現刪除功能

 

FindServlet和Book我們之前有已經有了,可以copy過來不用修改任何代碼

index.jsp也不用做出任何修改。

 

2

我們重點看看一個book_list.jsp和deleteServlet中的代碼

 

book_list.jsp

 

引入相關的包

JDBC連接數據庫實現刪除功能

 

 

JDBC連接數據庫實現刪除功能

JDBC連接數據庫實現刪除功能 


同樣需要一個script來驗證輸入合法性。

之后再table中添加行列  (有多少行上就有多少個<tr></tr>組合,有多少列就有多少個<td></td>組合

 

通過for循環遍歷集合中的數據,並且每一列取出數據的同時,都響應添加一個超鏈接到

<a href="DeleteServlet?id=<%=book.getId()%>">刪除</a>

從book實例中取得的getId()值,存入id中,傳遞到DeleteServlet中。

 

 

 

2

 

JDBC連接數據庫實現刪除功能
JDBC連接數據庫實現刪除功能 


值得注意的是

// 獲取圖書id
int id = Integer.valueOf(request.getParameter("id"));括號中的id是從表單中傳過來的,是一個String型需要轉型

String sql = "delete from tb_book where id=?";

ps.setInt(1, id);

 

修改第一個語句中的第一個參數,這里的修改其實就是執行刪除操作了。

(PS:這里再次強調一下為什么使用

  // 獲取PreparedStatement
   PreparedStatement ps = conn.prepareStatement(sql);

 

PreparedStatement的對象,是執行有參數的sql語句進行預處理。知道這個就夠了,我百度的時候忙忙的多資料,懶得去理解了。JDBC連接數據庫實現刪除功能

 

 

 

最后

執行一下DOS模式下的Mysql看一下沒有修改前的數據。

 

JDBC連接數據庫實現刪除功能

 

 

 

然后運行工程,我點擊的是刪除第一個
JDBC連接數據庫實現刪除功能


再次跳轉到本頁面(刪除后的新頁面)  可以看到第一條數據被刪除了。
JDBC連接數據庫實現刪除功能 

 

蛋疼的我再次打開DOS再次驗證一下,果真就真被刪除了JDBC連接數據庫實現刪除功能
JDBC連接數據庫實現刪除功能

 

 

 

 

 

 

 

 

 

總結: 

     我記得自學JSP是從3月24號那天晚上哥哥告訴我什么叫MVC開始的,當時聽着真心抽象,然后現在是4月5號,過了差不過11天了。從數據庫不知道為何物,連接JDBC的為何。到慢慢摸索,寫出一個測試數據庫連接成果的代碼。

     期間發生了很多蛋疼又傻比的事情,

1

比方說,不懂安裝Mysql(TNND,我還以為安裝了mysql會有一個類似魔獸這樣的頁面會顯示在桌面,擦,其實是沒有的);

2

再比方說,安裝JDBC還要下載那個什么驅動包,下載了又不知道丟哪里,又得去看了許多百度的資料;

3

再比方說,到了后面才發現,Mysql原來TNND是有一個可視化的操作插件之類的,不用在那個惡心的DOS下看。

4

再后來又發現,原來前幾天自學的數據庫語句,在JDBC連接的時候僅僅是用到了select這個簡單的句子(當然往后可能要用到存儲過程)

5

在具體工程的時候,那個跳轉頁面的url被我自己亂改過,害我調試了半天,都調試不出來。后來才發現是我蛋疼手賤改了web.xml.不過通過我亂改web.xml,也細心觀察了一下Servlet添加的時候里面相對應的出現的代碼。

6

學會了html的表單,一些常用的html語言,table表之類的運用。當然少補了javascript語句在JSP頁面的作用和規范。還有<% 添加java代碼%>

7

對於MVC的理解更加深入了,隨着javaBean的學習,也學會了Eclipse原來有自動生成set get方法的快捷操作。(本來不知道之前我是一點點敲的JDBC連接數據庫實現刪除功能

對於MVC 我現在可以用自己的話來解釋一下了。

  V就是UI,就是表單可以理解為html

  M就是javaBean(也成為useBean)

  C自然就是Servlet了。

8

平常新建java的類或者Servlet都是默認全部丟到默認包中的,也就是說,平常我都不設包名的。現在發現還是起一些包名好一些,這樣不至於那么亂。比方說,useBean和Servelt都是后綴為.java,如果在設置工程包名的時候不設置的話,會經常性點錯。那如果工程大一點之后就可能是不便於維護了。

 

可以很清楚的理解了javaBean可以說是V和C之間的橋梁。而JSP自學的過程,最最最核心的非Servlet莫屬了。尤其是數據庫操作的時候。可以說JSP的學習就是Servlet的學習。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM