# vue3 springboot电商系统 **Repository Path**: gjqaaa/vue3-springboot ## Basic Information - **Project Name**: vue3 springboot电商系统 - **Description**: 基于springboot与vue的前后端分类项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 0 - **Created**: 2023-03-02 - **Last Updated**: 2025-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, Vue, 电商, Redis, MySQL ## README ### vue springboot redis mysql 电商管理系统 技术栈 springboot vue3 element-plus redis mysql 前端 http://localhost:8080/login 后端 http://localhost:8080/front/login ### application.properties 配置文件如下(注意更改部分) ``` spring.application.name=springboot server.port=9090 #后端端口 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.name=defaultDataSource spring.datasource.url=jdbc:mysql://localhost:3306/vite-project?serverTimezone=UTC #注意改为自己的数据库名“vite-project” spring.datasource.username=root #填自己的用户名密码 spring.datasource.password=12345 mybatis.mapper-locations=classpath:mappers/*xml mybatis.type-aliases-package=com.example.springboot.mybatis.entity spring.redis.database=0 spring.redis.host=192.168.188.129 # 改为自己的 redis服务器ip, 和密码 spring.redis.port=6379 spring.redis.password=123456 ``` ### 后台reids启动与关闭,在redis下输入以下命令开启redis ``` redis-server redis.conf ### 查看redis进程 ps -ef|grep redis ``` ![输入图片说明](image8.png) ### 关闭reids ``` redis-cli -a reids密码 shutdown ``` ### 若不需要redis,则将Goodscontroller中redis的代码删除即可 ``` //原 public synchronized Result findOne(@PathVariable Integer id) { if(redisTemplate.hasKey("goods:"+id)){ // System.out.println(redisTemplate.opsForHash().entries("goods:"+id)); Goods goods = new Goods(); goods.setId((int)redisTemplate.opsForHash().get("goods:"+id,"id")); goods.setName((String) redisTemplate.opsForHash().get("goods:"+id,"name")); goods.setPrice((BigDecimal)redisTemplate.opsForHash().get("goods:"+id,"price")); goods.setImg((String) redisTemplate.opsForHash().get("goods:"+id,"img")); goods.setDescription((String) redisTemplate.opsForHash().get("goods:"+id,"description")); goods.setNums((int)redisTemplate.opsForHash().get("goods:"+id,"nums")); goods.setStatus((int)redisTemplate.opsForHash().get("goods:"+id,"status")); goods.setUnit((String) redisTemplate.opsForHash().get("goods:"+id,"unit")); return Result.success(goods); //System.out.println(goods.getNums()); }else{ Goods goods = goodsDao.getById(id); redisTemplate.opsForHash().put("goods:"+id,"id",goods.getId()); redisTemplate.opsForHash().put("goods:"+id,"name",goods.getName()); redisTemplate.opsForHash().put("goods:"+id,"price",goods.getPrice()); redisTemplate.opsForHash().put("goods:"+id,"img",goods.getImg()); redisTemplate.opsForHash().put("goods:"+id,"description",goods.getDescription()); redisTemplate.opsForHash().put("goods:"+id,"nums",goods.getNums()); redisTemplate.opsForHash().put("goods:"+id,"status",goods.getStatus()); redisTemplate.opsForHash().put("goods:"+id,"unit",goods.getUnit()); redisTemplate.expire("goods:"+id,10, TimeUnit.SECONDS); } return Result.success(goodsDao.getById(id)); } ``` ``` public synchronized Result findOne(@PathVariable Integer id) { return Result.success(goodsDao.getById(id)); } ``` ### 数据库文件可以直接用vite-project.sql ### 运行截图 ### 后台管理员界面 ![后台管理员界面](image.png) ![输入图片说明](file/lun/image5.png) ### 前台用户界面 ![输入图片说明](file/lun/image8.png) ![输入图片说明](file/lun/image.png) ![前台用户界面](image2.png)