业务描述
基于Spring,MyBatis,SpringBoot,Thymeleaf技术实现商品模块的增删改查操作。
项目环境初始化
准备工作
1. MySQL(5.7)
2. JDK (1.8)
3. Maven (3.6.3)
4. STS(4.7.1)
数据库初始化
打开mysql控制台,然后按如下步骤执行goods.sql
第一步:登录mysql
mysql -uroot -proot
第二步:设置控制台编码方式
set names utf8
第三步:执行goods.sql文件(切记不要打开文件复制到mysql客户端运行)
source d:/sqlspace/goods.sql
其中goods.sql文件内容如下:
drop database if exists dbgoods;
create database dbgoods default character set utf8;
use dbgoods;
create table tb_goods(
id bigint primary key auto_increment,
name varchar(100) not null,
remark text,
createdTime datetime not null
)engine=InnoDB;
insert into tb_goods values (null,'java','very good',now());
insert into tb_goods values (null,'mysql','RDBMS',now());
insert into tb_goods values (null,'Oracle','RDBMS',now());
insert into tb_goods values (null,'java','very good',now());
insert into tb_goods values (null,'mysql','RDBMS',now());
insert into tb_goods values (null,'Oracle','RDBMS',now());
insert into tb_goods values (null,'java','very good',now());
创建项目并添加依赖
基于STS创建
第一步:基于start.spring.io创建项目并设置基本信息
第二步:创建项目时指定项目核心依赖
第三步:项目创建以后分析其结构
基于IDEA创建
第一步:基于start.spring.io 创建项目并设置基本信息
第二步:创建项目module时指定项目核心依赖
第三步:项目modul创建以后分析其结构
项目配置文件内容初始化
#server
server.port=80
#server.servlet.context-path=/
#spring datasource
spring.datasource.url=jdbc:mysql:///dbgoods?serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
#spring mybatis
mybatis.mapper-locations=classpath:/mapper/*/*.xml
#spring logging
logging.level.com.cy=debug
#spring thymeleaf
spring.thymeleaf.prefix=classpath:/templates/pages/
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false
项目API架构设计
其API架构设计,如图所示:
商品查询业务实现
业务描述
从商品库查询商品信息,并将商品信息呈现在页面上,如图所示:
业务时序分析
Pojo类定义
定义Goods对象,用于封装从数据库查询到的商品信息。
热部署配置及实现
基于SpringBoot的Web项目,修改了某个类以后,默认不会自动重新部署和加载,需要我们手动重启服务器。假如我们希望项目可以自动部署,可以添加如下依赖,进行热部署实现。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
说明:当我们修改了src/main/java目录下的java文件或修改了src/main/resources目录下的配置文件时,默认都会重启你的web服务器,但是修改了测试类或html文件不会自动重启和部署。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。