Spring Boot Spring MVC MyBatis MyBatis Plus框架编写项目实战案例

在本课程中,会讲到如下技术栈内容:

一、系统概述

1、系统功能介绍

2、系统架构设计

二、数据库设计

1、商品信息表

2、商品图片表

三、系统环境搭建

1、准备数据库资源

2、准备项目环境

四、商品管理模块

1、查询商品

2、添加商品

3、修改商品

4、删除商品

5、上传商品图片

5.1 提交上传图片

5.2 数据回显到页面

本课程适合人群: 本课程是来自一线开发者的实战经验总结,对于企业级Spring Boot开发、设计感兴趣的所有技术人员。来源:《服务号-薇云科技》

一、系统概述
1、系统功能介绍

本系统后台技术栈使用Spring Boot、Spring MVC、MyBatis、MyBatis Plus框架编写,前台页面使用Thymeleaf和jQuery框架完成页面信息展示功能。系统中主要实现了商品管理功能模块,主要功能包括:查询商品、添加商品、修改商品、删除商品和商品图片文件上传。

2、系统架构设计

系统根据功能的不同,项目结构可以划分为如下几个层次。

数据库服务层:使用MySQL数据库存储持久化数据。

持久对象层(也称持久层或持久化层):该层由若干持久化类(实体类)组成。

数据访问层(DAO层):DAO模式是一种标准的Java EE设计模式,DAO模式的核心思想是,所有的数据库访问都通过DAO组件完成。DAO组件封装了数据库的增、删、改等原子操作。该层由若干DAO接口和MyBatis映射文件组成。接口的名称统一以Dao结尾,且MyBatis的映射文件名称要与接口的名称相同。

业务逻辑层(Service层):该层由若干Service接口和实现类组成。在本系统中,业务逻辑层的接口统一使用Service结尾,其实现类名称统一在接口名后加Impl。业务逻辑组件依赖于DAO组件提供的数据库原子操作,完成系统业务逻辑的实现。

Web表现层:该层主要包括Spring MVC中的Controller类和Thymeleaf模板页面。Controller类主要负责拦截用户请求,并调用业务逻辑层中相应组件的业务逻辑方法来处理用户请求,然后将相应结果返回给Thymeleaf模板页面展示给前端用户。

业务逻辑、DAO组件和持久对象等组件,都由Spring IoC容器负责生成,并管理组件的实例。

二、数据库设计

本系统数据库使用MySQL,本系统中主要涉及商品管理功能,因此在系统中会涉及商品信息表。表的表结构如下所示。

1、商品信息表

java 复制代码
CREATE TABLE `t_product`  (
`id` int  NOT NULL AUTO_INCREMENT COMMENT '主键',
`productname` varchar(32) NOT NULL COMMENT '商品名称',
`price` double COMMENT '价格',
`picture` varchar(200) NOT NULL COMMENT '商品图片',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB COMMENT = '商品表';

2、商品图片表

java 复制代码
CREATE TABLE `t_pro_picture` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`productid` int(11) NOT NULL,
`bigpic` varchar(200) NOT NULL,
`smallpic` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT = '商品图片表';
三、系统环境搭建
1、准备数据库资源

通过Navicat Premium 15登录数据库后,创建一个名称为bjwykjssm的数据库,并选择该数据库。通过SQL命令将资源中提供的bjwykj.sql脚本在Navicat Premium 15的新建查询中执行。其具体实现SQL命令如下。

1)创建数据库

java 复制代码
CREATE DATABASE bjwykjssm;

阅读全文...

相关推荐
NE_STOP14 小时前
springMVC-HTTP消息转换器与文件上传、下载、异常处理
spring
洋洋技术笔记16 小时前
Spring Boot配置管理最佳实践
spring boot
用户8307196840821 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide1 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
玹外之音2 天前
Spring AI MCP 实战:将你的服务升级为 AI 可调用的智能工具
spring·ai编程
来一斤小鲜肉2 天前
Spring AI入门:第一个AI应用跑起来
spring·ai编程
NE_STOP2 天前
springMVC-常见视图组件与RESTFul编程风格
spring
大道至简Edward2 天前
Spring Boot 2.7 + JDK 8 升级到 Spring Boot 3.x + JDK 17 完整指南
spring boot·后端
洋洋技术笔记2 天前
Spring Boot启动流程解析
spring boot·后端
怒放吧德德2 天前
Spring Boot 实战:RSA+AES 接口全链路加解密(防篡改 / 防重放)
java·spring boot·后端