[TOC]
# 概述
## 步驟 1 : 學習的平滑性
分類管理中的CategoryMapper.xml使用很直接的SQL語句開發出來,這樣的好處是簡單易懂,便于理解。
可是,隨著本項目功能的展開和復雜度的提升,使用這種直接的SQL語句方式的開發效率較低,需要自己手動寫每一個SQL語句,而且其維護起來也比較麻煩。
所以在理解和消化了分類管理的基礎上,我們做進一步的改進,主要是在分頁方式和逆向工程方面做了重構。
## 步驟 2 : 分頁方式
目前的分頁方式是自己寫分頁對應的limit SQL語句,并且提供一個獲取總數的count(*) SQL。 不僅如此, mapper, service, service.impl 里都要提供兩個方法:
list(Page page), count()
分類是這么做的,后續其他所有的實體類要做分頁管理的時候都要這么做,所以為了提高開發效率,把目前的分頁方式改為使用 pageHelper分頁插件來實現。
## 步驟 3 : 逆向工程
目前分類管理中Mybatis中相關類都是自己手動編寫的,包括:Category.java, CategoryMapper.java和CategoryMapper.xml。
尤其是CategoryMapper.xml里面主要是SQL語句,可以預見在接下來的開發任務中,隨著業務邏輯的越來越復雜,SQL語句也會越來越復雜,進而導致開發速度降低,出錯率增加,維護成本上升等問題。
為了解決手動編寫SQL語句效率低這個問題,我們對Mybatis部分的代碼,使用逆向工程進行重構。
所謂的逆向工程,就是在已經存在的數據庫表結構基礎上,通過工具,自動生成Category.java, CategoryMapper.java和CategoryMapper.xml。
- 項目簡介
- 功能一覽
- 前臺
- 后臺
- 開發流程
- 需求分析-展示
- 首頁
- 產品頁
- 分類頁
- 搜索結果頁
- 購物車查看頁
- 結算頁
- 確認支付頁
- 支付成功頁
- 我的訂單頁
- 確認收貨頁
- 確認收貨成功頁
- 評價頁
- 需求分析-交互
- 分類頁排序
- 立即購買
- 加入購物車
- 調整訂單項數量
- 刪除訂單項
- 生成訂單
- 訂單頁功能
- 確認付款
- 確認收貨
- 提交評價信息
- 登錄
- 注冊
- 退出
- 搜索
- 前臺需求列表
- 需求分析后臺
- 分類管理
- 屬性管理
- 產品管理
- 產品圖片管理
- 產品屬性設置
- 用戶管理
- 訂單管理
- 后臺需求列表
- 表結構設計
- 數據建模
- 表與表之間的關系
- 后臺-分類管理
- 可運行的項目
- 靜態資源
- JSP包含關系
- 查詢
- 分頁
- 增加
- 刪除
- 編輯
- 修改
- 做一遍
- 重構
- 分頁方式
- 分類逆向工程
- 所有逆向工程
- 后臺其他頁面
- 屬性管理實現
- 產品管理實現
- 產品圖片管理實現
- 產品屬性值設置
- 用戶管理實現
- 訂單管理實現
- 前端
- 前臺-首頁
- 可運行的項目
- 靜態資源
- ForeController
- home方法
- home.jsp
- homePage.jsp
- 前臺-無需登錄
- 注冊
- 登錄
- 退出
- 產品頁
- 模態登錄
- 分類頁
- 搜索
- 前臺-需要登錄
- 購物流程
- 立即購買
- 結算頁面
- 加入購物車
- 查看購物車頁面
- 登錄狀態攔截器
- 其他攔截器
- 購物車頁面操作
- 訂單狀態圖
- 生成訂單
- 我的訂單頁
- 我的訂單頁操作
- 評價產品
- 總結