溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

實(shí)現(xiàn)應(yīng)用mysql的增刪改查功能的方法

發(fā)布時(shí)間:2020-09-28 17:46:48 來(lái)源:億速云 閱讀:257 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

小編給大家分享一下實(shí)現(xiàn)應(yīng)用mysql的增刪改查功能的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.  前言

針對(duì)數(shù)據(jù)的增加、修改、刪除和查詢是應(yīng)用軟件系統(tǒng)中最為常用的功能。作為軟件開(kāi)發(fā)人員,如何高效的實(shí)現(xiàn)上述功能,并且能夠保證系統(tǒng)數(shù)據(jù)的正確性、規(guī)范性和有效性是非常重要的。

本文結(jié)合自己在項(xiàng)目實(shí)踐中完成的增刪改查功能,分析和總結(jié)實(shí)現(xiàn)增刪改查功能的開(kāi)發(fā)過(guò)程和方法,以便在后續(xù)的開(kāi)發(fā)工作中較好的完成類似功能的開(kāi)發(fā)。

2.  開(kāi)發(fā)過(guò)程與方法

增加功能

增加功能主要是將用戶在頁(yè)面中錄入的數(shù)據(jù)項(xiàng)保存到數(shù)據(jù)表中對(duì)應(yīng)的數(shù)據(jù)表字段中。

可以采用如下的步驟進(jìn)行分析與實(shí)現(xiàn):

結(jié)合業(yè)務(wù)需要,分析頁(yè)面上需要用戶錄入哪些數(shù)據(jù)項(xiàng)?

需要錄入哪些數(shù)據(jù)項(xiàng)?

每一個(gè)數(shù)據(jù)項(xiàng)的錄入方式(文本框錄入、下拉列表錄入、checkbox錄入、radio錄入)和校驗(yàn)規(guī)則(非空校驗(yàn)、字段類型、字段長(zhǎng)度、字段格式)是什么?

錄入數(shù)據(jù)項(xiàng)與數(shù)據(jù)表字段的對(duì)應(yīng)關(guān)系(對(duì)應(yīng)哪個(gè)數(shù)據(jù)表,哪個(gè)數(shù)據(jù)字段、)

頁(yè)面中的每一個(gè)數(shù)據(jù)項(xiàng)與哪個(gè)數(shù)據(jù)表的哪個(gè)字段相對(duì)應(yīng)?

頁(yè)面錄入的數(shù)據(jù)項(xiàng)值是否需要轉(zhuǎn)換成數(shù)據(jù)庫(kù)字段的值?(比如將頁(yè)面中用戶錄入的是和否轉(zhuǎn)換成數(shù)據(jù)庫(kù)字段1和0)

后臺(tái)保存數(shù)據(jù)時(shí),按照如下的步驟處理:

若數(shù)據(jù)校驗(yàn)不正確,則提示出哪些數(shù)據(jù)項(xiàng)格式不正確,需要如何填寫(xiě)為正確的格式。

若保存失敗,則將失敗的原因提示給用戶,便于用戶修改之后再次保存。

若保存成功,則將成功的操作結(jié)果反饋給用戶。

若保存異常,則提示用戶保存操作出現(xiàn)異常,請(qǐng)重試。

若頁(yè)面的VO數(shù)據(jù)只對(duì)應(yīng)一張數(shù)據(jù)表,則直接保存到一張數(shù)據(jù)表即可。

若頁(yè)面的VO數(shù)據(jù)需要保存到數(shù)據(jù)庫(kù)中的多張數(shù)據(jù)表時(shí),需要采用事務(wù)管理機(jī)制控制數(shù)據(jù)保存操作的完整性,防止出現(xiàn)一部分表保存成功;一部分保存失敗的情況。

若已經(jīng)存在重復(fù)的記錄,則將重復(fù)的信息反饋給用戶

若沒(méi)有重復(fù)的記錄,則執(zhí)行如下的保存步驟。

首先,需要接收頁(yè)面錄入的數(shù)據(jù)項(xiàng),然后校驗(yàn)數(shù)據(jù)項(xiàng)的合法性和有效性(類型、長(zhǎng)度),并將

然后,結(jié)合數(shù)據(jù)的唯一性規(guī)則,判定是否已經(jīng)存在重復(fù)的數(shù)據(jù)記錄;

接著,實(shí)現(xiàn)頁(yè)面VO數(shù)據(jù)項(xiàng)與持久化對(duì)象PO的轉(zhuǎn)換:將用戶在頁(yè)面上錄入的VO數(shù)據(jù)項(xiàng)轉(zhuǎn)換成數(shù)據(jù)庫(kù)實(shí)體對(duì)象,并調(diào)用相應(yīng)的主鍵生成規(guī)則,生成數(shù)據(jù)庫(kù)實(shí)體對(duì)象的主鍵字段和其他與業(yè)務(wù)無(wú)關(guān),但是需要保存到數(shù)據(jù)庫(kù)中的字段值;執(zhí)行如下的保存操作:

最后,將保存操作的處理結(jié)果反饋給用戶:

刪除功能

刪除功能主要是將用戶選擇的數(shù)據(jù)從數(shù)據(jù)庫(kù)中刪除,實(shí)現(xiàn)在頁(yè)面上看不到數(shù)據(jù)。

可以采用如下的方法分析和實(shí)現(xiàn):

分析刪除的實(shí)現(xiàn)方式:

采用硬刪除(直接將數(shù)據(jù)從數(shù)據(jù)庫(kù)中刪除)還是軟刪除方式(通過(guò)標(biāo)識(shí)位標(biāo)識(shí)數(shù)據(jù)已經(jīng)刪除)

分層刪除的級(jí)聯(lián)數(shù)據(jù):

頁(yè)面上操作刪除的數(shù)據(jù),是否存在記錄刪除的情況:刪除一張數(shù)據(jù)表的一條數(shù)據(jù),同時(shí)將另外一張數(shù)據(jù)表中與該條記錄相關(guān)的數(shù)據(jù)記錄同時(shí)刪除掉。

分析刪除的操作方式:

依據(jù)數(shù)據(jù)記錄的哪個(gè)數(shù)據(jù)項(xiàng)進(jìn)行刪除

支持一次只能刪除一條數(shù)據(jù)

支持一次可以刪除多條數(shù)據(jù)

刪除操作的實(shí)現(xiàn)方法:

后臺(tái)獲取需要?jiǎng)h除的數(shù)據(jù)記錄的主鍵值,執(zhí)行刪除操作;若存在級(jí)聯(lián)刪除的情況,則需要在刪除當(dāng)前表的數(shù)據(jù)記錄之后,同時(shí)刪除相關(guān)數(shù)據(jù)表中與該條記錄相關(guān)的數(shù)據(jù)記錄,確保數(shù)據(jù)庫(kù)中不出現(xiàn)無(wú)效的冗余數(shù)據(jù)。

批量刪除的情況,若其中一條數(shù)據(jù)刪除錯(cuò)誤;則將該條記錄寫(xiě)入提示信息中,繼續(xù)執(zhí)行后續(xù)數(shù)據(jù)記錄的刪除;

將刪除操作的處理結(jié)果反饋給操作用戶:

若刪除失敗,則反饋給刪除失敗的原因;

若刪除異常,則反饋異常的原因,提示用戶重試。

若刪除成功,則反饋操作成功的提示信息給用戶;

在查看數(shù)據(jù)時(shí),將數(shù)據(jù)記錄的主鍵隱藏顯示到頁(yè)面上,

在選擇數(shù)據(jù)時(shí),將選擇數(shù)據(jù)對(duì)應(yīng)的主鍵保存起來(lái)

用戶點(diǎn)擊刪除按鈕時(shí),首先提示用戶是否確認(rèn)刪除,若用戶選擇確認(rèn)刪除,則執(zhí)行如下的處理步驟:

在刪除成功之后,需要重新刷新頁(yè)面上的顯示數(shù)據(jù),將刪除的結(jié)果(刪除成功的數(shù)據(jù)不在顯示在頁(yè)面上)展示給用戶。

修改功能

修改功能主要是將針對(duì)數(shù)據(jù)庫(kù)中已有的數(shù)據(jù)項(xiàng)進(jìn)行重新編輯,并將修改后的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。

查詢功能

綜述所述,Web層的開(kāi)發(fā)方法如下:

編寫(xiě)頁(yè)面VO:分析Web顯示層需要提交哪些數(shù)據(jù)項(xiàng)、需要返回哪些結(jié)果數(shù)據(jù)項(xiàng);將請(qǐng)求數(shù)據(jù)項(xiàng)和結(jié)果數(shù)據(jù)項(xiàng)統(tǒng)一封裝到頁(yè)面VO。在編碼實(shí)現(xiàn)時(shí),頁(yè)面VO類是普通的Bean類,定義數(shù)據(jù)項(xiàng)并提供set和get方法即可。

編寫(xiě)控制層Action:定義頁(yè)面VO對(duì)象;使用頁(yè)面VO對(duì)象接收Web顯示層提交的請(qǐng)求數(shù)據(jù);并將VO提交的請(qǐng)求數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)傳輸對(duì)象,傳輸給Service層使用;接收服務(wù)層返回的處理結(jié)果;將處理結(jié)果返回的數(shù)據(jù)傳輸對(duì)象轉(zhuǎn)換成VO的結(jié)果數(shù)據(jù)項(xiàng)。

編寫(xiě)Action配置文件:

建立顯示層請(qǐng)求與控制層之間的請(qǐng)求對(duì)應(yīng)關(guān)系:通過(guò)在Action的配置文件中,配置Action信息建立頁(yè)面請(qǐng)求和Action之間的對(duì)應(yīng)關(guān)系。

編寫(xiě)顯示層頁(yè)面:

使用頁(yè)面VO接收用戶的請(qǐng)求數(shù)據(jù):將頁(yè)面中的表單名稱設(shè)置為與頁(yè)面VO的屬性名稱相同,保證頁(yè)面VO可以接收到請(qǐng)求數(shù)據(jù)。

設(shè)置請(qǐng)求對(duì)應(yīng)的Action地址:針對(duì)提交請(qǐng)求的頁(yè)面按鈕,將請(qǐng)求的地址設(shè)置為Action地址,確??梢詫⒄?qǐng)求提交到對(duì)應(yīng)的。

接收返回的處理結(jié)果:接收請(qǐng)求返回的處理結(jié)果,依據(jù)處理結(jié)果進(jìn)行相應(yīng)的處理。

以上是實(shí)現(xiàn)應(yīng)用mysql的增刪改查功能的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI