基于SSM架构的鲜花销售系统:后端采用Spring、SpringMVC、MyBatis+Tom...
基于SSM的鲜花商城、网上花店、鲜花销售系统 后端技术Spring、SpringMVC、MyBatis Tomcat 前端技术JSP、jQuery 、BootStrap 数据库MySQL 软件IDEA/Ecilpse/MyEcilpse、Navicat/Sqlsong花店搬上网这事儿听起来简单真要动手搞起SSM框架的商城系统里头藏着不少有意思的弯弯绕绕。咱们今天就来扒一扒这个鲜花电商系统的技术实现保准你能在代码里闻到花香。先看后端这三大件怎么咬合。Spring的依赖注入在商品分类模块用得那叫一个溜看这段Service层代码Service public class CategoryServiceImpl implements CategoryService { Autowired private CategoryMapper categoryMapper; Transactional public void updateCategoryFlowerCount(Integer categoryId) { categoryMapper.increaseFlowerCount(categoryId); // 这里故意留个坑后面说事务回滚的事儿 System.out.println(更新分类下鲜花数量成功); } }Autowired这注解把MyBatis的Mapper接口直接拽进来用就像在咖啡机里塞了咖啡豆自动出咖啡。Transactional注解更绝当某个倒霉订单支付失败时所有数据库操作自动回滚比超市退货还利索。说到MyBatis的动态SQL鲜花搜索功能绝对是个典型。看看这XML配置select idsearchFlowers resultTypeFlower SELECT * FROM flowers where if testkeyword ! null name LIKE CONCAT(%,#{keyword},%) /if if testminPrice ! null AND price #{minPrice} /if if testmaxPrice ! null AND price lt; #{maxPrice} /if /where ORDER BY sales_volume DESC /select这where标签聪明得很没传价格参数时自动忽略价格条件比会变脸的川剧演员还灵活。特别要注意那个符号XML里直接写小于号会报错这个坑新手一踩一个准。前端页面用Bootstrap搭架子JSP里嵌EL表达式活生生把1999年的技术玩出花。看看商品列表页这个循环div classrow c:forEach items${flowerList} varflower varStatusvs div classcol-md-3 div classthumbnail img src${ctx}/upload/${flower.image} onerrorthis.src${ctx}/images/default.jpg classimg-responsive div classcaption h4${fn:escapeXml(flower.name)}/h4 p classtext-dangerfmt:formatNumber value${flower.price} pattern#0.00//p button classbtn btn-warning addCart>