业务描述
基于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:/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());
创建项目并添加依赖
第一步:基于start.spring.io 创建项目并设置基本信息
![ef9a89e1f4994ae67744ba6b0b03c39e.png](https://i-blog.csdnimg.cn/blog_migrate/e5f2056e33fd8eec405cd3db9904baf6.jpeg)
第二步:创建项目时指定项目核心依赖
![6d0e09b7a37983d3cb6cb3ee017f8834.png](https://i-blog.csdnimg.cn/blog_migrate/a83c35d0f8cf73fa0be72a61e2edd302.jpeg)
第三步:项目创建以后分析其结构
![044676b3aaec4adebb1a51d298c96a04.png](https://i-blog.csdnimg.cn/blog_migrate/0e660973440283898d4f6e03881f1e25.jpeg)
项目配置文件内容初始化
#serverserver.port=80#server.servlet.context-path=/#spring datasourcespring.datasource.url=jdbc:mysql:///dbgoods?serverTimezone=GMT%2B8&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=root#spring mybatismybatis.mapper-locations=classpath:/mapper/*/*.xml#spring logginglogging.level.com.cy=debug#spring thymeleafspring.thymeleaf.prefix=classpath:/templates/pages/spring.thymeleaf.suffix=.htmlspring.thymeleaf.cache=false
项目API架构设计
其API架构设计,如图所示:
![203df2d9c87a0de50e11f7868a4d4c0d.png](https://i-blog.csdnimg.cn/blog_migrate/139e5dd2d72e0f306d519dde5a863714.jpeg)
商品查询业务实现
业务描述
从商品库查询商品信息,并将商品信息呈现在页面上,如图所示:
![206d5de5f188a4a43b0124375e6dd531.png](https://i-blog.csdnimg.cn/blog_migrate/8e5cf0effc55b026e48e3f23daa52743.jpeg)
业务时序分析
查询所有商品信息,其业务时序分析,如图所示:
![cf852e7742dfa1c55b3cac9fb6df1513.png](https://i-blog.csdnimg.cn/blog_migrate/74ecd0cc0491c8b9ad7c3164872c4631.jpeg)
Pojo类定义
定义Goods对象,用于封装从数据库查询到的商品信息。
package com.cy.pj.goods.pojo;import java.util.Date;public class Goods { private Long id;//id bigint primary key auto_increment private String name;//name varchar(100) not null private String remark;//remark text private Date createdTime;//createdTime datetime public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public Date getCreatedTime() {