1
0
Fork 0
SpringBoot秒杀项目
Go to file
程序员小墨 b348a8c060 Redis 分布式会话(基于session) 2022-03-07 17:57:11 +08:00
.idea 添加idea中项目配置 2022-03-06 00:45:00 +08:00
Others 数据库索引字段过长无法导入linux下MySQL,进行调整 2022-03-06 00:44:24 +08:00
frontend 秒杀(SpringBoot构建电商基础秒杀项目 基础部分完成) 2022-03-05 16:48:37 +08:00
src Redis 分布式会话(基于session) 2022-03-07 17:57:11 +08:00
.gitattributes 添加Metronic(作为LFS) 2022-03-01 21:24:58 +08:00
.gitignore gettop页面实现 2022-03-01 19:31:34 +08:00
README.md 添加SpringBoot打包plugin,解决【flashsale-1.0-SNAPSHOT.jar中没有主清单属性】问题 2022-03-06 00:51:25 +08:00
pom.xml Redis 分布式会话(基于session) 2022-03-07 17:57:11 +08:00

README.md

电商基础秒杀项目

项目简介基于SpringBoot数据库使用MySQL

开发工具IntelliJ IDEA 2021.3.2 (Ultimate Edition)

数据库版本MySQL 5.7

项目数据库文件:点击打开

默认用户

用户名密码均为 admin

层次结构以User为例自上向下

目录 Java对象类型 说明 举例
Controller层
Controller controller 类 class controller.UserController
View Object (VO) controller/viewobject 类 class 将用户Model转化为可供UI使用的View Object controller.UserController
Service层 转换成业务模型
Service service 接口 interface service.UserService
ServiceImpl service/impl Service接口实现类 将DataObject组装成Model service.impl.UserServiceImpl
Model service/model 类 class 用户模型Model service.model.UserModel
Dao层 对数据库的映射
Mapper dao 接口 interface dao.UserDOMapper
Mapping resources/mapping Mapper接口实现类 xml格式SQL语句 mapping/UserDOMapper.xml
Data Object (DO) dataobject 类 class dataobject.UserDO
其他
response response 用于处理HTTP请求返回 response.CommonReturnType
ValidationResult validator 类 class Hibernate Validator 参数验证 validator\ValidationResult.java
ValidatorImpl validator ValidationResult类实现类 Hibernate Validator 参数验证 validator\ValidatorImpl.java
异常处理 用于返回错误信息
CommonError error 接口 interface error.CommonError
EmBusinessError error 枚举 enum & CommonError接口实现类 error.EmBusinessError
BusinessException error CommonError接口实现类 & 继承自Exception error.BusinessException

Tips: Model与Data Object并非完全一一对应例如UserModel是由ServiceImpl将UserDO和UserPasswordDO组装而成的。

代码构建顺序:

  1. 创建Model模型service/model

  2. 创建数据库中数据表

  3. 使用mybatis-generator生成数据库映射文件dao ; dataobject ; resources/mapping

  4. 创建Service接口service

  5. 创建Service接口实现Implservice/implclass打上 Service 标注;方法上打上 @Transactional 标签保证是在同一事务中)

  6. 思考ServiceImpl中需要哪几步并逐步实现

    • 如果需要修改自动生成的数据库语句,先改 resources/mapping 下的xml映射SQL语句然后修改 dao 下的DOMapper接口

    • 可以用 org.springframework.beans 包中的 BeanUtils.copyProperties 进行DO转Model或Model转DO要字段和类型完全一致的字段才能拷贝其他不对应字段的需要手动设置

  7. Service返回Controller前完成将DO转换为Model同时进行业务处理最后返回Model

  8. 创建Controller继承BaseController在class上添加注解

    @Controller("/item")
    @RequestMapping("/item")
    @CrossOrigin(allowedHeaders = "*", allowCredentials = "true")
    
  9. 创建Controller方法添加以下注释

    // POST
    @RequestMapping(value = "/create", method = {RequestMethod.POST}, consumes = {CONTENT_TYPE_FORMED})
    @ResponseBody
    
    // GET
    @RequestMapping(value = "/get", method = {RequestMethod.GET})
    @ResponseBody
    
  10. 前端页面

  11. 完成