品牌新增業務之後臺代碼的編寫

2020-09-06 劉小愛

今天是劉小愛自學Java的第147天。

感謝你的觀看,謝謝你。

學習計劃安排如下:

  • 寫完查詢業務,繼續寫品牌新增業務。
  • 查詢業務我們從前端到後臺完整地寫了一遍。
  • 新增業務就不用自己使用vue寫前端頁面了,直接用模板,主要專注於後臺Java代碼的編寫。

一、新增品牌頁面

雖說有現成已經寫好的前端模板,但是也要自己看得明白,不然幹了啥都不清楚。

點擊新增品牌按鈕,會彈出一個對話框,其vue是如何編寫的呢,我們看下代碼:

因為vue文件代碼太長,我不可能全部截下來,截其中關鍵的部分,做一個流程梳理:

①新增品牌按鈕

給該按鈕設定了一個點擊事件,點擊事件一旦觸發會調用addBrand方法。

②addBrand方法

看名字就知道是新增品牌業務,其具體幹了啥呢?它將show設置成了true。

這個show又是啥呢?

③彈出的對話框

show默認值是false,是用來隱藏/顯示對話框的,③其實也就對應著彈出的對話框。

我們再次深入會發現,closeWindow方法對應的也就是對話框右上角的關閉按鈕,它就是將show設置成false了,所以能關閉對話框。

值得注意的是

前端代碼也可以和後臺Java代碼一樣,使用Ctrl+左鍵快速跳轉到方法/屬性/組件。

④自定義組件brand-form

Ctrl+左鍵點擊該標籤會跳轉到新文件,這也就是我們自定義的組件brand-form。

2BrandForm.vue文件

這是一個自定義的vue組件,其有一個name屬性,值為brand-form。

在其它頁面中可以使用import引入該組件再使用,頁面受限就不截圖說明了。

總之標籤名和name屬性要保持一致。

①前端校驗

看到required就可以想到是前端數據校驗,要求該數據不能為空。

②圖片上傳業務

這個對應了另一個獨立的業務,其請求路徑即為url,要在伺服器中接受該請求處理,該業務我們後續會說明。

③submit方法

提交按鈕對應的submit方法:

確定四件事情:

  • 請求路徑:如上圖所示。
  • 請求方式:例子中是Post請求。
  • 請求參數:此處是上圖4個參數。
  • 返回值:返回值為空。

確定這4點就可以編寫後臺代碼了。

二、後臺代碼編寫

Java三層代碼編寫,品牌新增依舊是屬於商品微服務lxa-item中的品牌相關。

1Controller層

@RequestMapping設定請求路徑。

@PostMapping接受Post請求。

請求參數本來一共有4個:

  • 其中有3個是屬於Brand實體類的屬性,所以用Brand對象代替。
  • cids是商品分類id。

返回值為空,所以rest風格中用ResponseEntity<Void>來表示。

響應的狀態碼是201「Created」即對應的枚舉CREATED。

2Service層

①新增品牌

因為我們昨天就編寫過Brand實體類,並利用通用mapper將其和數據表對應起來了。

所以新增時直接使用通用mapper的insertSelective()方法即可新增品牌。

②新增cid和bid

新增數據到中間表tb_category_brand。

因為我們沒有創建和其相關的Java實體類,所以沒法直接使用通用mapper。

但是好在Mybatis支持註解,所以我們創建insertCategoryBrand方法使用註解說明新增sql語句。

一個品牌id對應多個分類id,比如說小米這個品牌,既可以是手機,也可以是電飯煲等。

所以將分類id也就是上述的cids遍歷,新增bid和其對應的cid到數據表中。

3Mapper層

使用註解@Insert編寫新增sql語句,同理還有查詢、修改和刪除語句都可以。

當然也可以使用xml配置sql語句,只不過語句比較簡單,所以直接使用註解即可。

三、新增品牌測試

代碼編寫完畢,做一個測試

我們在新增品牌頁面中填寫數據,點擊提交按鈕,向伺服器發送請求。

伺服器接收請求後會分別向資料庫中的兩張表新增對應的數據。

最後

行有不得反求諸己,我是@劉小愛。

白天上班晚上學習,和Java同歲,不為其它,只為學會自律做好自己,也願我的每日打卡能給你帶來勇氣,歡迎點讚關注和評論。

相關焦點

  • 商品品牌業務之後臺Java代碼的編寫
    關於商品品牌,後臺代碼的完整編寫。兩個重要知識點:分頁助手插件的使用,通用mapper高階查詢的使用。因此可以用.then() 來接收成功時回調,.catch()完成失敗時回調,也就是我們昨天的代碼編寫。但是昨天寫的代碼很難看出來是使用的axios,因為其有配置讓其使用更簡單了。
  • 使用Vue編寫品牌管理的前端頁面
    學習計劃安排如下:打算從前端頁面到後臺伺服器代碼完整地寫一遍現在實現商品品牌管理這個業務。打算從前端頁面到後臺代碼完整地實現一遍:1創建我的品牌管理學習資料中是提供的有前端代碼的,本來是不用自己寫的,但學了幾天的vue,總得用下吧。
  • 微服務項目第25天:商品新增業務(完)
    ②返回值通過找到對應的前端代碼,可以判斷其返回值為空,一般新增業務返回值都為空。二、Java代碼編寫確定了請求和實體類,Controller層代碼也就直接確定了。總之就是一些比較簡單的細節問題,初次寫業務很容易忽視掉,多寫幾次就好了。
  • 通過Visual Studio 為 Linux 編寫 C++ 代碼
    Build 2016大會上Microsoft首次公布的Visual Studio 2015擴展提供了在VS2015中編寫C++代碼,隨後通過Linux/UNIX計算機進行編譯和執行的能力。
  • 微服務項目第24天:商品新增業務(二)
    一、新增商品數據關於新增數據一共是劃分成了4塊內容:①基本信息其中商品分類和該分類下所屬的品牌都是從資料庫中查詢到的。而商品標題、商品賣點和包裝清單是我們自己要填的數據,也就是要添加到資料庫中的。基本信息這塊的數據算是填寫完成了,後面還有三塊數據內容。
  • 【微服務】140:劉小愛商城之後臺管理系統
    學習計劃安排如下: 了解傳統項目與網際網路項目的不同之處。 電商項目的特點與任務。 項目分為後臺管理系統和前臺門戶系統,每個系統都是前後端分離,分為前端頁面和後臺微服務,我們先學後臺管理系統。 今天是後臺管理系統的前端頁面搭建,明天是後臺管理系統的微服務搭建。
  • 如何編寫出擁抱變化的代碼?
    在實際的開發中,編寫出易維護和易接受變化的代碼並非易事,想要實現可能更加困難重重:源碼難於理解、依賴關係指向不明、耦合也很令人頭疼。難道就真的就沒有辦法了嗎?本文中我們一起探討幾個技術原則和一些編碼理念,讓你的代碼跟著需求走,而且易維護易拓展。
  • Python編寫代碼的規範要求
    打開APP Python編寫代碼的規範要求 碼農阿勇 發表於 2020-01-16 17:44:00 遵循好的規範可以不僅提高我們代碼的可讀性,還可以提高程序開發效率。新手和高手之間的差別主要也體現在規範上,這裡勇哥主要給大家分享python的PEP8規範,希望大家在編寫代碼的時候按照規範要求去編寫。
  • 精美Angular後臺管理模板分享-前後端分離(包含所有代碼)
    隨著『設計者』的不斷反饋,將持續迭代,逐步沉澱和總結出更多設計模式和相應的代碼實現,闡述中後臺產品模板/組件/業務場景的最佳實踐,也十分期待你的參與和共建。」我們從github上克隆代碼(github.com/ng-alain/ng-alain.git),稍後在本地運行查看效果,克隆代碼後我們看到其代碼目錄結構如下:
  • Erupt Framework 1.5.4 發布,泛代碼,通用後臺管理框架
    取代代碼生成器,開發後臺管理系統更優解!為什麼要做 erupt ?無論開發怎樣的系統,都需要配套的管理後臺做數據支撐,是軟體開發中必不可少的一環,但實際開發中存這無法規避的痛點,如:開發效率低下、UI界面不盡人意、交互湊合、代碼重複、存在安全漏洞,導致開發成本極高。
  • 測試人員必須編寫代碼嗎?
    一個優秀的測試工程師應該具備:豐富的行業知識優秀的邏輯推理能力良好的編程技能軟體測試工程師為什麼必須掌握編程能力:做自動化測試時,你需要寫代碼做白盒測試時,你需要讀懂代碼和寫代碼做資料庫操作時,你需要會sql的增刪改查操作在敏捷測試過程中, 你需要會寫自動化測試做性能測試,你需要寫代碼做安全測試時,你需要寫代碼做數據測試時,你需要寫代碼測試員的工作過程1、版本或者產品的規劃階段:
  • 如何編寫簡潔美觀的Python代碼
    介紹你有沒有遇到過一段寫得很糟糕的Python代碼?我知道你們很多人都會點頭的。編寫代碼是數據科學家或分析師角色的一部分。另一方面,編寫漂亮整潔的Python代碼完全是另一回事。作為一個精通分析或數據科學領域(甚至軟體開發)的程式設計師,這很可能會改變你的形象。
  • 如何在Python中編寫簡單代碼,並且速度超越Spark?
    然後,其他的數據工程師團隊重新編寫相同的邏輯代碼並使其大規模工作,或者使用Spark令其與實時流一同工作。當數據科學家需要更改邏輯或將一個不同的數據集用於他/她的模型時,則會進行一次次地迭代。除了注意業務邏輯之外,還要分別或同時在Hadoop和Kubernetes構建集群,並應用整個CI / CD過程手動進行管理。最重要的是,大家都在努力工作,沒有足夠的業務影響來展示它......
  • 編寫高質量Python代碼的90個有效方法(第二版)
    有效Python的第二版將幫助您掌握真正的「Python」編程方法,利用Python的全部功能編寫異常健壯和性能良好的代碼。使用簡潔、腳本驅動的Scott Meyers最暢銷的C++風格,Brett Slatkin匯集了90個Python最佳實踐、技巧和快捷方式,並用真實的代碼示例來解釋它們,這樣您就可以放心地接受Python。
  • 如果讓莎士比亞、海明威編寫JavaScript代碼
    他在夢中"夢見"一些名人編寫JavaScript代碼,不同的作家呈現出各種編程風格,大家不妨一起來品嘗下。下面是對原文的摘譯。最近,我做了一個夢,我請海明威和其他四位文學名人替我編寫JavaScript代碼,一個函數返回一個給定長度的斐波納契數列。
  • 懶人秘籍:教你如何避免編寫pandas代碼
    而大家都在儘可能地避免這種懸崖峭壁,結果可想而知,都轉向了如何避免編寫pandas代碼。在過去4年裡,筆者一直使用pandas作為數據分析的主要工具。必須承認,「如何避免編寫pandas代碼」的大部分內容來自於使用pandas編程的起步階段。在進行代碼審閱時,筆者仍然看到許多經驗豐富的程式設計師在看一些熱門「如何避免使用」的帖子。
  • 我在華為鴻蒙上編寫的第一個 Hello World
    最激動入門級選手的心的時刻來了,本示例將演示如何編寫簡單業務,輸出「Hello World」。修改源碼bugfix和新增業務兩種情況,涉及源碼修改。下面以新增業務舉例,向開發者介紹如何進行源碼修改。1.確定目錄結構。
  • 編寫乾淨的C#代碼技巧
    介紹在當今時代,編寫代碼並不困難。然而,編寫乾淨且可伸縮的代碼並不容易。在本文中,我們將討論一些為我們的項目編寫乾淨C#代碼的技巧。乍一看,任何以前從未見過您的代碼的開發人員都必須儘可能地理解它,它幫助我們更好地理解代碼。下面是編寫乾淨C#代碼的一些重要技巧。
  • 如何編寫漂亮的 React 代碼?
    當然,如果出於某種原因,React 對我來說是不愉快的,而我想要花時間編寫代碼來獲得樂趣,那麼最明顯的做法就是不要使用 React。而我大多數時間就是不用 React 的。但是,眾所周知,編碼是多方面的:你有代碼、工件、你向計算機輸入的符號行,但你也有代碼結果,它的輸出,你用程式語言表達的想法的現實意義。可以從我的代碼與現實世界的交互中獲得同等甚至更大的樂趣,我對此比較在乎。
  • 教育平臺項目後臺管理系統:視頻講解
    文件說明Maven 測試代碼:`edu_work/hello_maven資料庫腳本文件:lagou_edu.sql測試開發接口所用的 SQL 語句:測試語句.sql後臺管理系統項目代碼:edu_work/lagou_edu_home