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;

阅读全文...

相关推荐
学长毕设1 分钟前
基于SpringBoot的烘焙商品商品系统-附源码
java·spring boot·后端
howard200533 分钟前
英中 / 中英对照制作程序:操作指南
spring boot·bootstrap·thymeleaf·操作指南·对照制作程序
CoderYanger4 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
郭小李4 小时前
spring中@Transactional注解对事务的支持
数据库·spring·oracle
郭小李6 小时前
mybatis的 Mapper.xml语法
xml·java·mybatis
小蒜学长6 小时前
基于SpringBoot 框架的自媒体新闻系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·mysql数据库·自媒体新闻管理系统
m0_639906947 小时前
MyBatis 实现分页查询|逻辑分页、物理分页、PageHelper 原理
mybatis
余槐i7 小时前
PostgreSQL 加索引后查询反而更慢:优化器弃用索引的 3 种情形
spring boot·redis·mysql·postgresql·事务
学长毕设16 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
步行cgn17 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc