基于Java+Springboot+Vue+elememt甜品屋蛋糕商城系统设计和实现

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

博主介绍全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战

🍅文末获取联系🍅精彩专栏推荐订阅收藏👇🏻👇🏻

 java项目精品实战案例《100套》

Java毕业设计参考题目-题目新颖值得收藏

目录

一、开发背景和技术

1.1 开发背景  

1.2 B/S体系结构

1.3 Java语言简介

1.4 SpringBoot框架

1.5 MySQL简介

二、系统设计

2.1 系统整体架构

2.2 购物流程设计

2.3 主要研究方法

2.4 登录模块设计

三、功能截图 

3.1 登录注册

3.2 前端首页模块

3.3 商家查看模块

3.4 甜品信息模块

3.5 甜品详情模块

3.6 商品详情和评论

3.7 购物车模块

3.8  购买详情页面

3.9 订单支付模块

3.10 甜品资讯模块

3.11 个人中心模块

四、后台管理模块

五、部分代码

六、项目总结 

七、源码获取


一、开发背景和技术

1.1 开发背景  

 随着社会的快速发展计算机的影响是全面且深入的。人们生活水平的不断提高日常生活中用户对网上蛋糕商城方面的要求也在不断提高网上蛋糕商城得到广大用户的青睐使得网上蛋糕商城的开发成为必需而且紧迫的事情。网上蛋糕商城主要是借助计算机通过对网上蛋糕商城所需的信息管理让用户无需出门就能买到自己喜欢的糕点大大节省了时间。增加用户的选择同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。网上蛋糕商城对用户带来了更多的便利该系统通过和数据库管理系统软件协作来满足用户的需求。计算机技术在现代管理中的应用使计算机成为人们应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题提高效率。 

1.2 B/S体系结构

B/S的系统是通过能上网的电脑就可以使用它最大的优点是不需要安装专门的软件首先浏览器向服务器发出请求然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据只要负责显示数据来降低要求如果说客户端像个“瘦子”而服务器会越来越“胖”。B/S体系结构与C/S体系结构相比最大的不同是B/S体系的应用软件使用网络浏览器作为与用户交互的平台而C/S则需要开发专用的应用程序。

1.3 Java语言简介

Java是由SUN公司推出该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景它是面向对象的分布式的动态的具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样但是它面向对象的技术更加彻底因为Java要求将所有的内容都必须封装成类把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布它是面向网络的语言可以处理TCP/IP协议它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的使得Java可以动态的维护程序。Java不支持指针对内存访问的所有操作都是通过对象实例化实现的这样就避免了指针操作中易产生的错误同时也预防了病毒对系统的破坏和威胁。

1.4 SpringBoot框架

SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计其不仅继承了Spring框架原来有的优秀特性而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大随之出现了jar包版本之间的兼容性问题而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突以及引用的不稳定性问题得到了很好的解决。

SpringBoot可以看做是Spring的加强版本但实质上都是Spring的相关技术有了这些优秀的开源框架程序员在开发过程中将事半功倍。

1.5 MySQL简介

MySQL数据库使用的语言是SQL语言。MySQL在保存数据时是根据数据的类型和特征分开保存在不同的表中这样当用户在需要调用的数据时就不再需要花费大量时间去寻找数据了只要找到对应的表就可以找到需要的数据了。MySQL可以完美的实现对于数据库的基本操作。因为 MySQL 数据库的占用的内存少运行快成本低源代码开放可移植性强所以越来越多的数据来源简单的项目的开发都会选择 MySQL作为数据库而MySQL也变得越来越流行。

二、系统设计

2.1 系统整体架构

​​

2.2 购物流程设计

2.3 主要研究方法

本系统采用基于Java语言B/S架构模式实现的即Java启动运行的客户端与服务器的结构基于 J2EE的基本标准Tomcat7.0及以上作为运行服务器支持基于、java、springboot、vue等主要技术设计idea作为开发环境数据库采用Mysql 5.0以上。

1项目调查法参考基于java蛋糕甜品商城系统相关的系统设计和实现、结合这次毕业设计的自己的系统需求调研设计出本系统的主要功能设计和架构。

2文献参考法通过查阅阅读最近三年基于java蛋糕甜品商城系统平台有关的优质文献参考和相关书籍、了解基于java蛋糕甜品商城系统平台的现状和涉及的技术情况

3经验总结法经过网络搜索查看、老师的指导、自己的学习开发经验结合、对系统开发整理、具体情况进行归纳、分析总结满足系统的各项可行性分析使系统设计和实现的合理化、标准化。

4实证测试法通过自己对前面资料的查询、阅读、以及利用自己所学习的计算机相关技术来完成编码实现、进行系统功能测试、代码编写、完成功能模块开发。最后进行测试

2.4 登录模块设计

三、功能截图 

3.1 登录注册

3.2 前端首页模块

3.3 商家查看模块

3.4 甜品信息模块

3.5 甜品详情模块

3.6 商品详情和评论

3.7 购物车模块

3.8  购买详情页面

3.9 订单支付模块

3.10 甜品资讯模块

3.11 个人中心模块

四、后台管理模块

五、部分代码


/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
		/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为123456");
    }
		/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}
# Tomcat
server:
    tomcat:
        uri-encoding: UTF-8
    port: 8080
    servlet:
        context-path: /springboot4f4p4
spring:
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/springboot4f4p5_2?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
        username: root
        password: 123456

#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springboot4f4p4
#        username: sa
#        password: 123456

    servlet:
      multipart:
        max-file-size: 10MB
        max-request-size: 10MB
    resources:
      static-locations: classpath:/testStatic/,classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
#mybatis
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  #实体扫描多个package用逗号或者分号分隔
  typeAliasesPackage: com.entity
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 1
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    #驼峰下划线转换
    db-column-underline: true
    #刷新mapper 调试神器
    refresh-mapper: true
    #逻辑删除配置
    logic-delete-value: -1
    logic-not-delete-value: 0
    #自定义SQL注入器
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    #springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)
    jdbc-type-for-null: 'null' 

六、项目总结 

        四个多月的毕业设计最终完成了糖朵朵蛋糕甜品商城系统。网站的功能勉强达到了最初设想的结果完成了最简单的需求。系统界面虽然看起来有些多但都是简单的功能页面用户操作容易上手能完成。感觉第一次独自设计一个网站是从头再学习的过程在此期间也巩固了所学的书本知识。

在界面上运用了自己熟练的软件设计首页的图片颜色采用统一的色调让整体看起来更加整洁后台采用了三种活泼的亮色调CSS简单统一背景及字体颜色。

在这次糖朵朵蛋糕甜品商城系统的设计过程中有一些还没有解决的地方。首先要设计网站就要明确目标理清大体的思路。对于我而言还是较有难度的俗话说万事开头难。第一步总是最关键的花了一个月的时间在图书馆里寻找相关的书籍、在网上浏览一些蛋糕甜品商城系统的网站。有些功能还不完善。

七、源码获取

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻获取联系方式👇🏻👇🏻

打卡 文章 更新 308/  365天

 精彩专栏推荐订阅下方专栏👇🏻👇🏻

java项目精品实战案例《100套》https://blog.csdn.net/weixin_39709134/category_11128297.html?spm=1001.2014.3001.5482

Java微信小程序项目实战《100套》https://blog.csdn.net/weixin_39709134/category_12022111.html?spm=1001.2014.3001.5482

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: SpringJavavue