• SpringBoot基础篇 (4)—SSMP整合案例


    目录

     一、SSMP整合案例

    1.1 项目搭建

    1.1.1 模块搭建

    1.2 实体类开发

    1.3 数据层开发

    1.3.1 数据层开发——分页功能

    1.3.2 数据层开发——条件查询功能

    1.4 业务层开发

    1.4.1 业务层快速开发

    1.5 表现层开发

    1.5.1 表现层消息一致性处理

    1.6 前后端协议联调

    1.6.1 列表功能

    1.6.2 添加功能

    1.6.3 删除功能

    1.6.4 修改功能

    1.6.5 业务消息一致性处理

    1.6.6 分页功能

    1.6.7 删除功能维护

    1.6.8 条件查询功能


     一、SSMP整合案例

    1.1 项目搭建

    1.1.1 模块搭建

    ①勾上需要使用的技术

    ②需要手动导入的依赖 

    1. <dependency>
    2. <groupId>com.baomidougroupId>
    3. <artifactId>mybatis-plus-boot-starterartifactId>
    4. <version>3.5.1version>
    5. dependency>
    6. <dependency>
    7. <groupId>com.alibabagroupId>
    8. <artifactId>druid-spring-boot-starterartifactId>
    9. <version>1.2.11version>
    10. dependency>
    11. <dependency>
    12. <groupId>org.projectlombokgroupId>
    13. <artifactId>lombokartifactId>
    14. dependency>

    ③修改配置文件为yml格式,并且设置端口号

    1. server:
    2. port: 80

    1.2 实体类开发

    1. package com.learn.domain;
    2. import lombok.Data;
    3. /**
    4. * @author 咕咕猫
    5. * @version 1.0
    6. */
    7. @Data
    8. public class Book {
    9. private Integer id;
    10. private String type;
    11. private String name;
    12. private String description;
    13. }

    1.3 数据层开发

    1.3.1 数据层开发——分页功能

    1. @Test
    2. void testGetPage(){
    3. IPage page = new Page(1,5);
    4. bookDao.selectPage(page,null);
    5. System.out.println(page.getCurrent());
    6. System.out.println(page.getSize());
    7. System.out.println(page.getTotal());
    8. System.out.println(page.getPages());
    9. System.out.println(page.getRecords());
    10. }
    1. package com.learn.config;
    2. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
    3. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
    4. import org.springframework.context.annotation.Bean;
    5. import org.springframework.context.annotation.Configuration;
    6. @Configuration
    7. public class MPConfig {
    8. @Bean
    9. public MybatisPlusInterceptor mybatisPlusInterceptor(){
    10. //1.定义Mp拦截器
    11. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    12. //2.添加具体的拦截器
    13. interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
    14. return interceptor;
    15. }
    16. }

    1.3.2 数据层开发——条件查询功能

    1.4 业务层开发

    1.4.1 业务层快速开发

    1.5 表现层开发

    1. package com.learn.controller;
    2. import com.baomidou.mybatisplus.core.metadata.IPage;
    3. import com.learn.domain.Book;
    4. import com.learn.service.IBookService;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.web.bind.annotation.*;
    7. import java.util.List;
    8. /**
    9. * @author 咕咕猫
    10. * @version 1.0
    11. */
    12. //@RestController
    13. @RequestMapping("/books")
    14. public class BookController2 {
    15. @Autowired
    16. private IBookService bookService;
    17. @GetMapping
    18. public List getAll() {
    19. return bookService.list();
    20. }
    21. @PostMapping
    22. public Boolean save(@RequestBody Book book) {
    23. return bookService.save(book);
    24. }
    25. @PutMapping
    26. public Boolean update(@RequestBody Book book) {
    27. return bookService.modify(book);
    28. }
    29. @DeleteMapping("{id}")
    30. public Boolean delete(@PathVariable Integer id) {
    31. return bookService.delete(id);
    32. }
    33. @GetMapping("{id}")
    34. public Book getById(@PathVariable Integer id) {
    35. return bookService.getById(id);
    36. }
    37. @GetMapping("{currentPage}/{pageSize}")
    38. public IPage getPage(@PathVariable int currentPage, int pageSize) {
    39. return bookService.getPage(currentPage,pageSize);
    40. }
    41. }

    1.5.1 表现层消息一致性处理

     

    1. package com.learn.controller;
    2. import com.baomidou.mybatisplus.core.metadata.IPage;
    3. import com.learn.controller.utils.R;
    4. import com.learn.domain.Book;
    5. import com.learn.service.IBookService;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.web.bind.annotation.*;
    8. import java.util.List;
    9. /**
    10. * @author 咕咕猫
    11. * @version 1.0
    12. */
    13. @RestController
    14. @RequestMapping("/books")
    15. public class BookController {
    16. @Autowired
    17. private IBookService bookService;
    18. @GetMapping
    19. public R getAll() {
    20. return new R(true, bookService.list());
    21. }
    22. @PostMapping
    23. public R save(@RequestBody Book book) {
    24. // R r = new R();
    25. // boolean flag = bookService.save(book);
    26. // r.setFlag(flag);
    27. return new R(bookService.save(book));
    28. }
    29. @PutMapping
    30. public R update(@RequestBody Book book) {
    31. return new R(bookService.modify(book));
    32. }
    33. @DeleteMapping("{id}")
    34. public R delete(@PathVariable Integer id) {
    35. return new R(bookService.delete(id));
    36. }
    37. @GetMapping("{id}")
    38. public R getById(@PathVariable Integer id) {
    39. return new R(true, bookService.getById(id));
    40. }
    41. @GetMapping("{currentPage}/{pageSize}")
    42. public R getPage(@PathVariable int currentPage, int pageSize) {
    43. return new R(true, bookService.getPage(currentPage, pageSize));
    44. }
    45. }

    1.6 前后端协议联调

    1.6.1 列表功能

     

    1.6.2 添加功能

    1.6.3 删除功能

    1.6.4 修改功能

    1.6.5 业务消息一致性处理

     

    1.6.6 分页功能

    1.6.7 删除功能维护

    1.6.8 条件查询功能

  • 相关阅读:
    curl、openssl、mbedtls的交叉编译过程
    Android Studio 利用系统签名打包apk
    Paas 相关介绍
    Python + Jmeter 实现自动化性能压测
    杂谈:DC对Verilog和SystemVerilog语言的支持
    《一周搞定数电》-逻辑门
    前端028_角色模块_清单功能
    Kamiya丨Kamiya艾美捷小鼠血红蛋白ELISA说明书
    系统架构演变历史及集群、分布式、微服务、SOA的概念区别
    23. 云笔记项目
  • 原文地址:https://blog.csdn.net/weixin_61843013/article/details/126668976