第一次寫前後端分離專案的經驗總結

2021-10-02 05:23:59 字數 2204 閱讀 8166

本次課設14天,第一次寫前後端分離專案的經驗總結,基本上就是邊學習邊做的

**位址

www.dcool.xyz:8888

前端技術:vue.js框架,使用了elementui,完全是單頁面開發

後端技術:springboot框架下,整合了redis,mybatis,mysql

總結一:restful風格的前後端介面文件問題

總結二:關於各種傳送格式和解析問題

總結三:開發前清晰的需求問題

這次讓我明白開發前清晰的需求是多麼重要

總結一:vue.js基礎問題

vue.js學得太快了,基礎不太好,有時間繼續補補,下面是官網鏈結位址

總結二:使用了基於元件開發,通過路由對不同元件顯示的替換

我依稀記得當初第乙個專案什麼框架都沒有用,直接各種html頁面中寫各種原生jdbc操作,但那時候其實也就隱約用iframe實現了單頁面,vue.js更加方便

我使用資料庫儲存的相對位址,就不會顯示,此問題到現在還沒有解決,我用的都是網上搜的位址

總結一:關於後端各個類名,方法名問題

這個要一開始文件我覺得就要寫好,或者注釋好,是不是所有的乙個功能點,從dao,idao,service,iservice,controller的名字都需要統一成為一樣的最好嗎?

總結二:關於後端各個類的職能粒度問題

總結三:關於mybatis的註解版問題

我貼乙個,以免以後到處翻

@select

("select count(*) as $_num from good_$ where good_id=# and "

+" customer_id=# group by good_id ;"

)string

getisloveorstar

(string customerid,

string goodid,

string field)

;/*檢視分頁查詢的物品*/

@select(""

)list

<

good

>

getlimitgoods

(string page,

integer size,

good good)

;

總結四:關於mybatis的insert的問題
/*插入訂單*/

@options

(usegeneratedkeys =

true

,keyproperty =

"orderid"

)@insert

("insert into new.order (customer_id) values (#)"

)order insertorder (

long customerid)

;

是我的基礎不牢,這個問題還沒有解決,上面方法一用這個就是報型別不對應的問題,導致我都是先查詢表裡面最大的id,然後用這個最大的id+1作為主鍵再插入,因為後續操作我需要知道這個id是多少

總結一:表的設計問題

上面是我設計時參考的使用者表

在設計時,比如我的使用者表,為了滿足第三正規化(不能有部分和傳遞依賴)將使用者表拆成使用者表和使用者積分資訊表

然後為了做到冷熱分離,再將使用者表分為使用者登入表,使用者實名表,使用者資訊表

上面是商品表設計參考,但是在使用的時候無法滿足我的需求,即不同規格應該不同庫存,可能是我的經驗不夠,等以後再琢磨琢磨

總結二:sql語句問題

因為上面表的分離,所以多個表各種左連右連查詢,sql語句也就變複雜了

sql語句沒有進行優化

總結三:資料庫表與實體的對應關係問題

我不是乙個表對應乙個實體,我也不太清楚一般的用法,

我都是從多個表中提取出需要的字段,然後再對映到實體中,比如下面

總結四:資料庫事務的管理

第一次參與專案的idea

本次 主要是對新新增的功能進行測試,第一次參與這麼大的系統也真的是有點丈二的和尚 摸不著頭腦。公司主要的測試方法就是功能測試和ui測試,基於場景的測試。對於業務知識,是一定要懂得的,這個模組的資料的進行處理對於另乙個模組的影響,這都是事先要了解的。不僅如此,還要對其中的名詞了解清楚,像這個系統中的 ...

第一次做專案的總結

1.css樣式中有用到float,其後必須要清除浮動 clear both 2.input盡量新增一定寬度的padding left,padding right,會更好 3.頁面布局單位有用到px就盡量都用px,如果用百分比,就全部都用百分比 4.列表類的文字要限制高度,負責布局會錯亂 overfl...

一次前後端分離架構的實踐

拜讀了 pkwenda 的前後端分離架構系列文章之後,感覺又get到了新技能,於是乎深入地學習了vue一波,下面談談我的感受。最大感受就是 解耦了,前後端 不再混雜在乙個專案中,開發人員可以各司其職,但同時部署也變得複雜了,原本只需部署乙個專案的,現在我們不得不部署兩個專案的,這無疑增加了部署的難度...