当前位置: 首页 > news >正文

分享一个开源的商城系统:SpringBoot + Vue +Redis + MyBatis 前后端分离技术栈

前言

之前在业余时间开发过一个商城管理系统,技术栈是目前比较主流的前后端分离。前端主要使用的是Vue框架、后端是SpringBoot框架、中间件采用的是Redis、数据库采用的是Mysql、持久层框架是Mybatis。目前代码已经开源到GitHub、对初学者来说有一定的参考价值~

更多文章:更多资源

需求功能说明

基本上包括了从管理员发布商品,到用户下订单购买收货的大致流程。简化了相关的逻辑,进攻参考学习。这里大致说明一下功能:商品分类管理、商品管理、订单管理、用户浏览商品,下订单购买、查看订单状态等。后台管理多为列表,增删改查这些操作。了解掌握一个模块,大部分模块即可掌握。注意:这里的业务逻辑经过简化,不代表实际生产操作。

实现效果截图

这里截取部分页面效果,页面设计的也较为简单。

图1 首页

相关代码

/** * 查询商品 * * @param id 商品id * @return 商品 */ public Good getGoodById(Long id) { String redisKey = RedisConstants.GOOD_ID_KEY + id; //从redis中查,若有则返回 Good redisGood = redisTemplate.opsForValue().get(redisKey); if (redisGood != null) { redisTemplate.expire(redisKey, RedisConstants.GOOD_ID_TTL, TimeUnit.MINUTES); return redisGood; } //若redis中没有则去数据库查 Good dbGood = lambdaQuery().eq(Good::getIsDelete, Boolean.FALSE).eq(Good::getId, id).one(); if (dbGood != null) { //将商品信息存入redis redisTemplate.opsForValue().set(redisKey, dbGood, RedisConstants.GOOD_ID_TTL, TimeUnit.MINUTES); return dbGood; } //数据库中没有则返回异常 throw new BizException(Status.NO_RESULT, "无结果"); }

图2 商品详情

相关代码

/** * 分页查询商品 - 带查询条件 * * @param pageNum 页数 * @param pageSize 分页大学 * @param searchText 查询文本 * @param categoryId 分类id * @return 商品列表 */ public IPage<GoodVo> findPage(Integer pageNum, Integer pageSize, String searchText, Integer categoryId) { LambdaQueryWrapper<Good> query = Wrappers.<Good>lambdaQuery() //对商品名称模糊匹配 .like(StrUtil.isNotBlank(searchText), Good::getName, searchText).or() //对商品描述模糊匹配 .like(StrUtil.isNotBlank(searchText), Good::getDescription, searchText).or() //商品id查询 .eq(StrUtil.isNotBlank(searchText), Good::getId, searchText) .eq(categoryId != null, Good::getCategoryId, categoryId) .eq(Good::getIsDelete, Boolean.FALSE) .orderByDesc(Good::getId); //分页查询 IPage<Good> page = this.page(new Page<>(pageNum, pageSize), query); IPage<GoodVo> goodVoPage = page.convert(good -> { GoodVo goodVo = new GoodVo(); BeanUtil.copyProperties(good, goodVo); return goodVo; }); for (GoodVo good : goodVoPage.getRecords()) { //附上最低价格 good.setPrice(getMinPrice(good.getId())); } return goodVoPage; }

图3 商品详情列表

相关代码

/** * 分页查询商品 - 带查询条件 * * @param pageNum 页数 * @param pageSize 分页大学 * @param searchText 查询文本 * @param categoryId 分类id * @return 商品列表 */ public IPage<GoodVo> findPage(Integer pageNum, Integer pageSize, String searchText, Integer categoryId) { LambdaQueryWrapper<Good> query = Wrappers.<Good>lambdaQuery() //对商品名称模糊匹配 .like(StrUtil.isNotBlank(searchText), Good::getName, searchText).or() //对商品描述模糊匹配 .like(StrUtil.isNotBlank(searchText), Good::getDescription, searchText).or() //商品id查询 .eq(StrUtil.isNotBlank(searchText), Good::getId, searchText) .eq(categoryId != null, Good::getCategoryId, categoryId) .eq(Good::getIsDelete, Boolean.FALSE) .orderByDesc(Good::getId); //分页查询 IPage<Good> page = this.page(new Page<>(pageNum, pageSize), query); IPage<GoodVo> goodVoPage = page.convert(good -> { GoodVo goodVo = new GoodVo(); BeanUtil.copyProperties(good, goodVo); return goodVo; }); for (GoodVo good : goodVoPage.getRecords()) { //附上最低价格 good.setPrice(getMinPrice(good.getId())); } return goodVoPage; }

分享几个开源的项目(在GitHub上)

🎯 项目一:美妆商城系统

技术栈:SpringBoot + Vue + mybatis + mysql

https://github.com/zhengyuzh/meizhuangshop

🚀 项目二:智能美妆商城系统

技术栈:SpringBoot + Vue + 协同过滤算法 + 敏感词过滤 + mybatis + mysql

https://github.com/zhengyuzh/mzshop

🛍️ 项目三:通用商城系统

技术栈:前后端分离 SpringBoot + Vue + mybatis + mysql

https://github.com/zhengyuzh/mallsystem

💗 项目四:大学生心理健康管理系统

技术栈:SpringBoot + mybatis + mysql 等

https://github.com/zhengyuzh/Mental-health-management-system

📚 项目五:智能书籍借阅系统

技术栈:SpringBoot + Vue + Redis + Mybatis-plus + 微信小程序

https://github.com/zhengyuzh/Book-borrowing-system

http://www.jsqmd.com/news/280298/

相关文章:

  • 9大免费论文查重工具推荐,每天不限次数使用,让学术写作更轻松高效
  • 7款AI论文写作神器解析:如何快速提升效率并避免论文重复问题
  • 基于stm32单片机的智能灌溉系统
  • AI论文写作工具精选7款:高效撰写与降低重复率的实用技巧分享
  • 基于STM32单片机的智慧病房系统
  • 零成本论文查重工具精选9款,支持每日无限次检测,学术写作更无忧
  • 基于stm32单片机的智能充电宝系统
  • 电商行业中的多维数据分析模型
  • STL练习
  • 学术写作必备:9大免费查重工具,每天无限次检测,提升论文质量更便捷
  • 基于stm32单片机的智能安防系统
  • 基于android的大学学校食堂点餐系统
  • 全网最全MBA必备AI论文写作软件TOP10测评
  • 基于android的个人健康系统
  • 无需付费的9款论文查重神器,24小时不限次数使用,为学术创作保驾护航
  • 【AI+教育】人机协同教学研究的五大落地路径
  • 基于stm32单片机的智能拐杖系统
  • 【毕业设计】Python高校社团学生会管理系统
  • 免费又好用的9个论文查重工具,支持每日无限检测,让学术写作事半功倍
  • 电商行业的数据分析与优化策略
  • 9款完全免费的论文查重软件,每日检测次数无限制,助你高效完成学术任务
  • 第20届西安国际水展预热 秦西盟不锈钢水管引领行业新风尚
  • 【毕业设计】Python高校学生学业预警系统论文
  • 热门的南京GEO优化系统
  • 大数据运营中的“数据偏见”:3种常见错误及如何用统计方法避免
  • 2026南京装修公司排名权威发布:冠诚装饰9.99分登顶,旧房改造优选指南
  • 可靠的南京GEO优化系统
  • 这9款论文查重工具完全免费,支持全天候无限次检测,让学术研究更轻松
  • 2026最新改色车衣十大品牌榜单出炉!汽车改色车衣权威排行发布,品质与个性兼具的优质供应商及源头厂家推荐
  • 推荐9个零成本的论文查重平台,每日可多次使用,简化学术写作流程