国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站要會寫代碼嗎百度關(guān)鍵詞搜索怎么弄

做網(wǎng)站要會寫代碼嗎,百度關(guān)鍵詞搜索怎么弄,動態(tài)網(wǎng)站開發(fā)組合,請及時收藏在此之前,先來補充一下上一篇文章的一點內(nèi)容:上一篇文章點擊此處詳看 對于畫線的這句話,來詳細(xì)解釋一下吧! 這里面說,對于service服務(wù)層,如果我們所需要實現(xiàn)的業(yè)務(wù)比較簡單的話可以直接在...service接口里面…

在此之前,先來補充一下上一篇文章的一點內(nèi)容:上一篇文章點擊此處詳看

對于畫線的這句話,來詳細(xì)解釋一下吧!

這里面說,對于service服務(wù)層,如果我們所需要實現(xiàn)的業(yè)務(wù)比較簡單的話可以直接在...service接口里面將方法實現(xiàn),而復(fù)雜的業(yè)務(wù)邏輯則需要另外加一個實現(xiàn)類...serviceImpl來實現(xiàn)對應(yīng)的方法。

這里再補充一下:就是我們在后端代碼編寫的時候,Impl實現(xiàn)類并不是必須的,其實它只是起到一個使得我們寫的業(yè)務(wù)邏輯代碼更加清晰,不會使得方法看起來很復(fù)雜。

這里可以舉一個簡單的例子:

比如我們正在開發(fā)一個外賣管理平臺,那么我們肯定需要將要出售的菜品展示給用戶看,我們從平臺管理者的角度看,最簡單的業(yè)務(wù)就是對菜品的增刪查改,而這個增刪查改的邏輯其實都差不多,但它們都是屬于對菜品的管理,四個功能需要四個方法來實現(xiàn),那么我們在編寫代碼時,肯定先在controller控制層先響應(yīng)請求,然后再到服務(wù)層來實現(xiàn)這幾個方法,而在service服務(wù)層,我們?nèi)绻阉膫€方法都寫在...service類里面的話,那就包括(實現(xiàn)方法的邏輯代碼,sql的編寫)對于sql的編寫,若是簡單的sql倒沒什么,如果是比較復(fù)雜的動態(tài)sql,那么全部堆在這個service類里面,下次需要來修改什么功能的話會相當(dāng)難找,還可能影響到其他的功能。而這時候我們就需要再加一個ImplService實現(xiàn)類,在service接口層里面單純地定義方法,再將方法的具體實現(xiàn)代碼編寫到ImplService實現(xiàn)類里面,接著,將復(fù)雜的動態(tài)sql編寫到xml文件里面。這樣,如果我們需要修改哪個方法或sql語句,我們就隨時可以定位到該位置快速修改,不會太冗雜。

當(dāng)然,上面說了,并不是所有的業(yè)務(wù)邏輯都需要Impl實現(xiàn)類,就像上一篇文章里面的新增員工業(yè)務(wù),單純的實現(xiàn)這個功能只需要一句簡單的sql語句,我們就不需要另開一個實現(xiàn)類去實現(xiàn)。

好了,進(jìn)入正題,我們來分析學(xué)習(xí)下面的代碼開放思路!

eg.這是一個關(guān)于刪除的業(yè)務(wù)(刪除套餐)

先對其進(jìn)行需求分析:

業(yè)務(wù)規(guī)則:

  • 可以一次刪除一個套餐,也可以批量刪除套餐

  • 起售中的套餐不能刪除

接口信息:

? ? ? ? Path: /admin/setmeal

? ? ? ? Method: DELETE

接口描述:

? ? ? ? 請求參數(shù):Query

? ? ? ? ? ? ? ? 參數(shù)名稱:ids? ? ? ?必須? ? ? ?

? ? ? ? 返回數(shù)據(jù):

? ? ? ? ? ? ? ? 數(shù)據(jù)名稱:code? ? ? 非必須

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? data? ? ? ?非必須

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? msg? ? ? ?非必須

代碼實現(xiàn):controller—> service—> serviceImpl—> mapper—> (動態(tài)sql--mapper.xml)

SetmealController:
/*** 批量刪除套餐* @param ids* @return
*/
@DeleteMapping
@ApiOperation("批量刪除套餐")
public Result delete(@RequestParam List<Long> ids){setmealService.deleteBatch(ids);return Result.success();
}

首先,先編寫Controller層,封裝所需要的數(shù)據(jù),其中ids,我們可以從上面的接口信息知道這是請求參數(shù)且是必須的,所以delete()括號中需要封裝前端提交過來的請求參數(shù),接著就需要一個根據(jù)ids刪除的方法對吧(deleteBatch),我們可以先將其寫出來,然后再到setmealService接口層去創(chuàng)建這個方法。最后返回響應(yīng)結(jié)果。

SetmealService:
/*** 批量刪除套餐* @param ids
*/
void deleteBatch(List<Long> ids);

SetmealService接口層,這里面單純定義方法給Controller控制層調(diào)用實現(xiàn)刪除功能。

而具體的實現(xiàn)邏輯是在實現(xiàn)類編寫。

SetmealServiceImpl:
/*** 批量刪除套餐* @param ids
*/
@Transactional
public void deleteBatch(List<Long> ids) {ids.forEach(id -> {Setmeal setmeal = setmealMapper.getById(id);if(StatusConstant.ENABLE == setmeal.getStatus()){//起售中的套餐不能刪除throw new DeletionNotAllowedException(MessageConstant.SETMEAL_ON_SALE);}});ids.forEach(setmealId -> {//刪除套餐表中的數(shù)據(jù)setmealMapper.deleteById(setmealId);//刪除套餐菜品關(guān)系表中的數(shù)據(jù)setmealDishMapper.deleteBySetmealId(setmealId);});
}

SetmealServiceImpl就是所需的實現(xiàn)類,在里面編寫刪除方法的具體邏輯,其中,if條件語句是在判斷要刪除的套餐中是否有菜品正在起售,如果有則返回錯誤信息,沒有則刪除套餐中的數(shù)據(jù)和套餐菜品關(guān)系表中的數(shù)據(jù)。當(dāng)然,這里沒有展示套餐表和菜品表。理解其邏輯就行!接著,在這里面,要實現(xiàn)對套餐中菜品信息的遍歷和刪除,需要用到getById()和deteleById()以及deleteBySetmealId()3個方法。它們都將在mapper持久層中實現(xiàn)。

SetmealMapper:
/*** 根據(jù)id查詢套餐* @param id* @return
*/
@Select("select * from setmeal where id = #{id}")
Setmeal getById(Long id);/*** 根據(jù)id刪除套餐* @param setmealId
*/
@Delete("delete from setmeal where id = #{id}")
void deleteById(Long setmealId);

這是對套餐表進(jìn)行查詢和刪除!這里我們可以看到,在方法上面直接進(jìn)行sql的實現(xiàn),這是因為這個業(yè)務(wù)刪除的復(fù)雜度并不高,所以不需要用到動態(tài)sql,如果需要的話,會另外編寫在XML文件中。

SetmealDishMapper:
/*** 根據(jù)套餐id刪除套餐和菜品的關(guān)聯(lián)關(guān)系* @param setmealId
*/
@Delete("delete from setmeal_dish where setmeal_id = #{setmealId}")
void deleteBySetmealId(Long setmealId);

這是對套餐菜品關(guān)系表進(jìn)行數(shù)據(jù)的刪除!

?大概的代碼開發(fā)邏輯就是這樣,意會意會!這也是對上一篇文章所說的業(yè)務(wù)邏輯代碼開放思路的一個具體解釋和舉例!希望對你有幫助!

👍

http://aloenet.com.cn/news/44299.html

相關(guān)文章:

  • 最好免費觀看高清播放seo發(fā)帖網(wǎng)站
  • 上海做網(wǎng)站那家公司好如何創(chuàng)建一個app平臺
  • 網(wǎng)站建設(shè)與開發(fā)試卷新東方培訓(xùn)機(jī)構(gòu)官網(wǎng)
  • 怎么做好網(wǎng)站方式推廣免費私人網(wǎng)站建設(shè)
  • 交互式網(wǎng)站有哪些功能友情鏈接出售
  • 備案網(wǎng)站轉(zhuǎn)入阿里云管理方面的培訓(xùn)課程
  • 阿里云做網(wǎng)站搜索引擎有哪些分類
  • 做優(yōu)惠卷網(wǎng)站倒閉了多少錢剪輯培訓(xùn)班一般學(xué)費多少
  • 企業(yè)網(wǎng)站營銷優(yōu)缺點搜索
  • 架設(shè)一個網(wǎng)站太原今日新聞最新頭條
  • 使用網(wǎng)站效果圖b站推廣軟件
  • 制作團(tuán)購網(wǎng)站搜索引擎優(yōu)化關(guān)鍵詞的處理
  • iis怎么建網(wǎng)站最新的網(wǎng)絡(luò)營銷的案例
  • 東莞長安網(wǎng)站設(shè)計軟件培訓(xùn)班
  • 無錫 網(wǎng)站建設(shè)公司北京做網(wǎng)站公司哪家好
  • 網(wǎng)站菜單素材湖北seo
  • 網(wǎng)頁游戲網(wǎng)站斗地主青島seo關(guān)鍵詞優(yōu)化公司
  • 新媒體營銷案例有哪些百度seo如何優(yōu)化關(guān)鍵詞
  • 網(wǎng)站設(shè)為主頁功能怎么做下載谷歌瀏覽器并安裝
  • 網(wǎng)絡(luò)規(guī)劃的內(nèi)容廣東網(wǎng)站營銷seo費用
  • 惠州建設(shè)網(wǎng)站搜索引擎營銷案例分析
  • wordpress 關(guān)閉自動保存功能seo自動排名軟件
  • 浙江高端網(wǎng)站熱點新聞
  • 設(shè)計公司 網(wǎng)站個人網(wǎng)頁設(shè)計作品模板
  • 公司做影視網(wǎng)站侵權(quán)全國疫情防控最新數(shù)據(jù)
  • 網(wǎng)站系統(tǒng)與網(wǎng)站源碼的關(guān)系上海今天發(fā)生的重大新聞
  • 湖南衡陽網(wǎng)站建設(shè)開發(fā)網(wǎng)站的流程是
  • 湖北華亞建設(shè)工程有限公司網(wǎng)站超級優(yōu)化
  • 蘇州市相城區(qū)住房和城鄉(xiāng)建設(shè)局網(wǎng)站網(wǎng)絡(luò)媒體推廣方案
  • 鄭州網(wǎng)站制作怎么樣江蘇seo平臺