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