潘承昌 吴恋 刘远珍 周雨梅
摘 要:针对网购用户无法逐一对比不同商城或购物网站中商品价格的弊端,文中提出了一种基于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.