潘承昌 吳戀 劉遠珍 周雨梅
摘 要:針對網購用戶無法逐一對比不同商城或購物網站中商品價格的弊端,文中提出了一種基于SSM框架的商品推薦系統,以幫助用戶在購買商品時選擇價格最優或者綜合性價比適合自己的商品。該推薦系統不僅為廣大用戶提供了便捷性,且經濟效益良好。系統的后端集成了三個開源框架(Spring,Spring MVC,MyBatis),前端采用jQuery框架,運用B/S結構,描述了從需求分析到程序設計的全過程。
關鍵詞:SSM;智能推薦;開源框架;Java
中圖分類號:TP91.3 文獻標識碼:A 文章編號:2095-1302(2018)07-00-03
0 引 言
隨著計算機網絡技術的飛速發展和互聯網的普及,網絡商城作為一種新型商業交易形式應運而生。網上購物時,大多用戶更愿意選擇適合自己的商品。但目前國內外的眾多網上商城或大型購物網站有較多店家,如果只依靠個人去對比相同商品在不同商城的價格,并從中發現價格低廉且品質有保障的商品,是一件耗時且繁瑣的事情。另外,體驗者無法準確得知不同廠商在特殊時間段(如節假日、周年慶典等)開展的一些促銷活動。
面對用戶遇到的問題,本文提出了基于SSM的商品智能推薦系統,以解決用戶網購的選擇問題。此系統利用模糊查詢進行對應的搜索,同時將商品銷量和價格作為推薦指標,其中商品種類、銷量和價格等內容可通過爬蟲程序從各大電商網站獲得,最后將程序獲得的數據存入數據庫中。該系統的應用大大縮短了人們的購物時間,并能快速選購出物美價廉的商品,符合現代社會生活節奏快的特點。
1 系統功能需求分析
基于SSM的商品推薦系統主要分為前臺商城和后臺管理兩部分,其中前臺商城主要包括主頁、商品陳列表、購物車以及用戶中心等;后臺管理分為分類管理、用戶管理、訂單管理和商品管理四部分。系統模塊圖解如圖1所示。
2 系統的詳細設計與實現
本系統是基于SSM(Spring,SpringMVC,MyBatis,SSM)框架的電子商城智能推薦系統,為B/S三層架構。其中Web服務器層采用Spring MVC框架,持久層使用MyBatis提供的ORM機制,數據庫使用MySQL,而前端頁面主要采用jQuery框架。開發環境為:MyEclipse,JDK 1.8,Tomcat 7。
2.1 數據庫設計
推薦系統的主要功能是為用戶推薦物美價廉的商品。經過多次與用戶溝通及現場了解,收集用戶需求推薦系統業務流程如圖2所示,數據整體關系如圖3所示。
創建的數據庫名為db_shop_and_happy,其中包含tb_user,tb_customer,tb_order,tb_orderitem,tb_productinfo,tb_productcatgory,tb_upload 共7張數據表。表tb_oder,tb_orderitem,tb_productinfo的詳細說明如下:
(1)用戶訂單表tb_order:該表用于保存用戶的訂單信息,其結構見表1所列。
(2)訂單條目表tb_orderitem:該表用于保存用戶訂單的條目信息,其結構見表2所列。
(3)商品信息表tb_productinfo:該表用于保存商品信息,其結構見表3所列。
2.2 系統編碼設計
2.2.1 編寫持久化類
本系統使用DAO模式基本操作方法封裝數據庫。建立一個公共DAO操作類,為簡化歸并操作,對DAO層進行精簡。為數據庫操作提供統一入口、統一修改、統一操作方式,避免代碼重復編寫,節約了開發時間。根據自定義的數據庫操作公共方法創建接口BaseMyBatisDAO,關鍵代碼如下:
public class BaseMybatisDAO {
@Autowired private SqlTem tem;
//查詢指定SQL語句的所有記錄
public
return tem.selectList(sql_id,params);
}
//查詢指定SQL語句的一條記錄
public
return tem.selectOne(sql_id);
}
//插入指定SQL的數據
public
return tem.insert(sql_id,entities);
}
//更新指定SQL的數據
public
if(null != entities && entities.length == 1){
return tem.update(sql_id,entities[0]);
}
return tem.update(sql_id,Arrays.asList(entities));
}
//刪除指定條件的SQL的數據
public int delete(String sql_id,Object key){
return tem.delete(sql_id,key);
}
}
2.2.2 編寫業務邏輯層類
業務邏輯層是系統工程的核心,業務處理的基礎是DAO層。以商品類別表為例:
@Service
public class OsCategoryService {
@Autowired
private OsCategoryMapper osCategoryMapper;
// 根據類目ID查找子類目
public List
List
return list;
}
// 根據類目ID查找上級類目列表
public List
List
return list;
}
}
2.2.3 編寫Web層類
該層主要包括控制器層和JSP頁面。前者主要負責業務邏輯的調動,并返回相應的結果。以系統主頁為例:
@Controller
public class IndexController {
@Autowired
OsCategoryService osCategoryService;
//首頁訪問
@RequestMapping("/index")
public String index(HttpServletRequest request,HttpSession session){
//首頁導航欄商品信息
List
session.setAttribute("categorys",category);
return "/webfront/index";
}
}
3 測試與結果
為了保證系統的穩定性,我們對系統進行了一些測試,并記錄其結果。系統功能測試表見表4所列,性能測試表見表5所列。
4 結 語
經過長時間的研究和測試,證明了本文所設計的推薦系統穩定可靠。但由于我們水平有限,因此所提出的系統還有待于擴展性研究,在日后研究中將繼續完善。基于SSM的商品智能推薦系統對于現今的網上購物具有強大的輔助作用,方便顧客比較商品價格和商品質量。該系統不僅能節約使用者的時間還為體驗者提供不同的選擇更具便捷性。
參考文獻
[1]卓皓.多功能在線考試系統的設計與實現[D].成都:電子科技大學,2010.
[2]劉鳳霞,孫家蓉.基于商品分類的電子商務推薦系統設計[J].計算機應用與軟件,2014(5):37-41.
[3] Zhang Z,Lu L,Liu J G,et al. Empirical analysis on a keyword based semantic system[J].The european physical journal B,2008,66(4):557-561.
[4] Yang J,Yu K,Gong Y,et al. Linear spatial pyramid matching using sparse coding for image classification[C].2009:1794-1801.
[5]胡新明.基于商品屬性的電子商務推薦系統研究[D].武漢:華中科技大學,2012.
[6]馬宏偉,張光衛,李鵬.協同過濾推薦算法綜述[J].小型微型計算機系統,2009,30(7):1282-1288.
[7]陳頡.基于iOS系統購物型APP的設計[J].辦公自動化,2016,21(13):42-44.
[8] Michael L Mauldin.Lycos:Design choices in an Internet search service[J].IEEE Expert,1997,12(1):8-11.
[9]王艷君.新環境下的網店購物系統的設計與實現[J].現代電子技術,2015,38(11):119-122.
[10]馬寧.基于J2EE架構的網上購物系統的設計與實現[D].成都:電子科技大學,2008.
[11]萬華.基于JSP的網上購物系統的實現[J].現代計算機(專業版),2002(10):60-63.
[12]范飄.大學科技園企業孵化信息服務平臺的設計與實現[D].廣州:華南理工大學,2012.