1.通用mappercss
封裝了單表的增刪改查方法html
引包-》處理bean(添加註解:column、id、generatedValue等等)--》在mapper接口上繼承tk包的Mappe<bean類名>--》使用內置的mapper方法(前端
selectAll、mysql
selectByprimaryKey根據逐漸進行查詢、linux
select(bena類名)根據實體類中的非空參數進行查詢、nginx
selectOne查一條數據,多條會報錯、web
insert無論空仍是非空都插入、正則表達式
insertSelective空值不插入、spring
updateByprimaryKey(bena類名)、sql
updateByprimaryKeySelective根據主鍵更新,空值不更新、
updateByExample根據某個條件更新、
deleteByprimaryKey根據主鍵刪除、
deleteByExample根據條件刪除)
--》在XXXApplication主類上加註解MapperScan(base-pakage=「mapper包路徑」),注意使用tk的mapperScan
2.模塊構建
parent 依賴管理
bean實體類
interface接口 ------maven模塊
cmmon-util通用工具 ------maven模塊
web-util 工具類web端controller ------maven模塊
service-util 工具類serviceimpl -------maven模塊
XXX-web web端模塊: ------- springboot
XXX-service 服務端模塊: -------springBoot
3.dubbo
搭建zookeeper
項目中引入dubbo依賴:1.dubbo原生 2.zookeeper客戶端 3.dubbo與spring整合包(第三方)
application.properties
application。name
註冊中心地址
註冊中心。協議 zookeeper
傳輸協議 dubbo
掃描包 全部設計dubbo註解都要在該包或該包的子包下
註解
@Service dubbo 標註在提供端
@Reference dubbo 標註在消費端
商品管理
分類
三級分類
平臺屬性
在商品列表進行商品過濾
跟三級分類掛鉤,不一樣的三級分類對應不一樣的平臺屬性
銷售屬性
篩選商品,在一個範圍內進行篩選,同一個spu內篩選
不一樣的spu有不一樣的銷售屬性。
spu:標準化產品單元。好比聯想y470
相同系列的sku商品的資源能夠共用,節省資源
經過銷售屬性概括商品(好比y470的不一樣顏色、內存、顯卡)
sku:庫存單元
y470 黑色 4G內存 960顯卡
y470 白色 8G內存 1060顯卡
面向一個實體商品,一個sku就是一個不能再細分的商品,與價格和庫存掛鉤
三級分類
數據庫:三個表 一級分類(id,分類名) 二級分類(id,分類名,一級分類id) 三級分類(id,分類名,二級分類id)
或者也能夠弄成一個表,
一級分類id | 分類名 | |
二級分類id | 分類名 | 一級分類id |
三級分類id | 分類名 | 二級分類id |
對應數據庫中的base_catalog1 base_catalog2 base_catalog3 三張表對應三級分類
前段NewStore_admin:
dev.env.js:配置後臺訪問地址 BASE——API對應後臺的訪問地址
index.js:配置前端端口地址 port: 8888,
跨域問題
須要在controller添加註解
@CrossOrigin
三級分類
平臺屬性
銷售屬性
三級分類和平臺屬性:1--》n
平臺屬性和平臺屬性值:1--》n
須要兩張表:平臺屬性表base_attr_info(id,屬性名,標識:屬於哪一個三級分類id)、平臺屬性值base_attr_value(id,屬性值名稱,平臺屬性id)
一個spu都涉及哪些信息?1:1(都在一張表,多個字段) 1:n(多張表進行關聯)
1:1 id、name(聯想(Lenovo)小新Air14英寸 )、描述
1:n 銷售屬性(顏色、版本、尺寸,內存、組合。。)、圖片(與spu關聯,好比這個商品有20張圖,屬於不一樣的4個sku,則根據不一樣的sku顯示不一樣的圖片。在保存spu時保存完整圖片信息,等創建sku時,在進行關聯)、評論、海報
一個sku都涉及哪些
1::1 id、name、價格、庫存數(常常變化,能夠拆分出去獨立)
1:n 圖片、銷售屬性值、平臺屬性
圖片保存 oss 雲存儲 七牛
fastdfs 本地分佈式文件存儲
emc
去IOE(ibm小型機 orcle emc)由於他們貴
ibm:被docker服務器,pc服務器替換
orcle:mysql,pgsql
emc:文件存儲,非結構化數據(圖片,視頻,影音)
前端後臺管理模塊,如今使用npm run dev啓動,那麼在正式環境linux怎麼辦?
npm是調試用的,linux是要打包,放在Nginx下(動靜分離,動態的給tomcat,配置表達式)
spu的保存
保存主表:spu_info
保存圖片:圖片表,上傳成功後會把圖片路徑回傳,保存數據庫的是路徑
保存銷售屬性和屬性值
安裝fastdft
上傳圖片進行測試
上傳成功
安裝fastdfs-nginx-module_v1.16.tar.gz
1.先安裝Nginx
./configure 預配置,作一些設置
make
make install
Nginx動靜分離
1.動態請求 http://manage.wubingyin.cn/attrList?attrId=3
2.靜態請求 http://manage.wubingyin.cn/static/XXX.js
js、css、png、jpg、ico、tff
~*.(js|css|png\jpg|ico|tff)$
$表示已js|css|png\jpg|ico|tff結尾
()表示:括號中的知足任何一個
3.首頁 http://manage.wubingyin.cn/ index.html
location ~*[a-z]+{}
a-z不區分大小寫的狀況下,有1到n個字符
正則匹配
一、= :用於不含正則表達式的 uri 前,要求請求字符串與 uri 嚴格匹配,若是匹配 成功,就中止繼續向下搜索並當即處理該請求。
二、~:用於表示 uri 包含正則表達式,而且區分大小寫。
三、~*:用於表示 uri 包含正則表達式,而且不區分大小寫。
四、^~:用於不含正則表達式的 uri 前,要求 Nginx 服務器找到標識 uri 和請求字 符串匹配度最高的 location 後,當即使用此 location 處理請求,而再也不使用 location 塊中的正則 uri 和請求字符串作匹配。
注意:若是 uri 包含正則表達式,則必需要有 ~ 或者 ~* 標識。
sku 名稱、價格、總量、描述
銷售屬性值 黃色、128G n:n sku
平臺屬性值 屏佔比 內存。。。 n:n sku
圖片spu_image n:n sku
這三個都是多對多,須要中間表。