日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

怎么创建数据表的实体类和业务类_微服务项目第13天:商品分类业务的实现

發布時間:2024/7/23 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么创建数据表的实体类和业务类_微服务项目第13天:商品分类业务的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

感謝你的觀看,謝謝你。

學習計劃安排如下:

  • 商品分類業務的初步實現。
  • 數據模型的分析:數據表字段的設計,Java中對應的實體類,前端頁面vue組件。
  • 業務模型的分析:請求路徑是什么?根據什么去數據庫查詢?具體實現代碼的編寫。
  • 其中還有一個跨域問題未來得及解決,怎么感覺積累的問題越來越多了,這樣下去可不行啊。

一、商品分類業務

我們的項目是劉小愛商城,其核心自然是商品了,所以就要涉及到一個商品分類業務。

1需求分析

我們先看看國內的主流網站上是如何做的?

比如說家用電器,這是一級類目。

它又分為很多種:比如說電視、空調、洗衣機、冰箱……等,這是二級類目。

并且還能夠垂直細分,比如說電視又可以被分為:超薄電視、全面屏電視……等。

好,如何用代碼實現這種需求?

一個需求拿到手中了,優先建立數據模型。

  • 前端頁面中的這些數據如何存放到數據庫中?
  • 數據庫中的表如何設計,有哪些字段?
  • 設計Java實體類和數據表對應?

這些問題解決了,方向也就定了,剩下的就是具體代碼的編寫了。

所以說數據模型是非常重要的,你想呀,方向都弄錯了,寫再多的代碼有什么用?

2數據庫表關系梳理

商品分類這是一個多級類目的關系。

家用電器是一個父節點,它有多個子節點,子節點往下又有子節點,所以表字段設計:

  • id和name表字段這不用多說。
  • 通過表字段parent_id指定對應父節點的id?
  • 通過表字段is_parent確定它是否是父節點?
  • 如果是true表示它是父節點,有子節點。
  • 如果是false表示它不是父節點,沒有子節點。

這樣就能把表數據自關聯起來了,無論多少級關系,都能表示清楚了。

值得注意的是:

  • 數據表字段單詞之間用下劃線“_”隔開。
  • is_parent是一個布爾值,但是在數據表中用0和1表示,0為false,1為true。

3前端vue代碼的編寫

好數據分析完成,先從前端頁面開始編寫,因為請求是從前端頁面發出的。

當然實際開發中應該都是根據開發文檔來各自完成,我這邊的話都得自己來弄。

Category.vue是分類業務對應的具體vue,v-card:卡片,是vuetify框架中提供的組件。

至于具體的前端代碼編寫,我們不做詳細介紹,但是有一點我們要搞清楚:

頁面發送的請求路徑是怎樣的?

后臺服務器得根據這個路徑來接受請求。

我們可以發現:請求路徑為baseUrl+url,也就是上述中兩個url相連接。

同時再通過瀏覽器F12打開控制臺確認其請求路徑是否是這樣的?

二、后臺代碼編寫

1Java實體類

注意實體類是存放在微服務lxa-item的lxa-item-pojo子工程中:

數據庫中的表tb_category,關于字段和我們一開始的分析基本一致,多了一個sort屬性。

而Category實體類使用通用mapper將其和表tb_category一一對應起來。

2啟動類及mapper層

該業務邏輯很簡單,只涉及到了單表查詢,所以使用通用mapper即可。

注意具體的業務代碼是存放在微服務lxa-item的lxa-item-service子工程中:

①mapper層代碼編寫

因為是單表查詢,所以直接使用通用mappe即可,繼承通用mapper中的Mapper接口即可,泛型為對應的實體類Category。

②啟動類編寫

因為使用了通用mapper,所以要通過注解@MapperScan確定掃描mapper的路徑。

另外兩個注解一個開啟eureka客戶端,一個說明是SpringBoot啟動類,寫過很多遍了。

注意:通用mapper相關的包為tk開頭,一定要注意導包不要導錯了。

3Controller層和Service層

①Controller層代碼

確認其請求路徑:category/list?pid=0

先不考慮網關,直接把整個業務寫出來。

請求路徑中參數是以問號的形式拼接到路徑中的,所以用注解@RequestParam接受參數。

如果是category/list/1這樣直接出現在請求路徑中,就用注解@Pathvarible接受參數。

②Servic層代碼

因為pid并不是tb_category表中的主鍵,所以創建一個對象設定pid再查詢。

注意,做一個提醒:

關于通用mapper的使用我專門寫過一篇教程,就不做贅述了。

其中還應該做結果判斷的處理,如果查詢到的數據為空要報錯,我這邊暫時沒做處理。

三、網關測試

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

①直接訪問

直接在瀏覽器上輸入對應的路徑,參數pid設置為0,可以從數據庫中查詢到對應數據。

其查詢的數據結果上圖右側有顯示。

②通過網關訪問

回顧:網關的作用相當于加了一層保護,其本質還是會跳轉直接訪問時的那個路徑。

  • prefix:添加路由前綴,網關訪問時路徑都要加上設置的這個路由前綴。
  • routes:添加路由,item/及其子路徑全部都會跳轉到item-service這個微服務。

再次強調:每新建一個微服務,我們都要以相同的方式配置其網關路由。

③通過域名訪問

如果通過我們昨天設定的網關域名訪問,會發現瀏覽器控制臺上報錯了,

具體什么原因呢?

涉及到了一個跨域問題,關于該問題,時間受限,我們明天再做說明。

最后

我是劉小愛,一個白天上班晚上學習的95后滬漂,不為其它,只為學會自律做好自己,也愿我的每日打卡能給你帶來勇氣,歡迎點贊關注和評論。

總結

以上是生活随笔為你收集整理的怎么创建数据表的实体类和业务类_微服务项目第13天:商品分类业务的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。