本文主要給大家簡單講講MySQL中恢復(fù)邏輯刪除方法,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望mysql中恢復(fù)邏輯刪除方法這篇文章可以給大家?guī)硪恍嶋H幫助。
成都創(chuàng)新互聯(lián)公司是專業(yè)的霍州網(wǎng)站建設(shè)公司,霍州接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行霍州網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
在前端頁面中刪除了,也不顯示了,其實數(shù)據(jù)庫中并沒有刪除,只是根據(jù)了一個狀態(tài)字段,0啟動,1停用的思路來達成。
所以邏輯刪除就是只是將一個名為status字段進行更改,來達到前端頁面是否顯示的方式,其數(shù)據(jù)本身并沒有被刪除,想要恢復(fù)只需要改回status字段即可。
思路:
在XML中寫查詢SQL時,多加一個條件,庫中的狀態(tài)字段
SELECT * FROM md_drainage_basinORDER BY sort_order and basin_name LIKE concat('%',#{basinName},'%') AND state = #{state}
那我們給前端頁面時候的數(shù)據(jù),就要自己在Java代碼中進行默認(rèn)操作,因為前端是不會在查詢的傳一個狀態(tài)碼的,后臺自己生成
mdDrainageBasin.setState(0); Listlist = mdDrainageBasinMapper.findByQuery(mdDrainageBasin);
默認(rèn)把狀態(tài)0啟動set到實體類中,再進行查詢,這樣前端看到的只有狀態(tài)為0的數(shù)據(jù)
邏輯刪除是把狀態(tài)碼進行更新,更新成1,調(diào)用update而不是delete,但考慮到多表關(guān)系,例如流域下面掛著水系,邏輯刪除一條流域,那下面的水系也要進行邏輯刪除不給與顯示,這時可根據(jù)判斷,如果流域下面有相應(yīng)水系,則不刪除,不然刪除
MdDrainageBasin mdDrainageBasin = mdDrainageBasinService.findById(id); Listlist = mdWaterSystemMapper.findByWater(mdDrainageBasin.getBasinCode()); if (list.size() > 0) { return ResponseMsgUtil.failure(); } else { mdDrainageBasin.setState(1); mdDrainageBasinService.update(mdDrainageBasin); return ResponseMsgUtil.success(mdDrainageBasin); }
根據(jù)前端傳入的Id進行查詢哪一條流域,這條流域下面有多少水系,有水系,不刪除,沒水系,刪除
mysql中恢復(fù)邏輯刪除方法就先給大家講到這里,對于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。