您好,登錄后才能下訂單哦!
小編給大家分享一下實(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è)資訊頻道!
免責(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)容。