当前位置: 首页 > news >正文

四、基于SpringBoot,MVC后端开发笔记

整合第三方技术:
1、整合Junit
(1)名称:@SpringBootTest
(2)类型;测试类注解
(3)位置:测试类定义上方
(4)作用:设置Junit加载的SpringBoot启动类
(5)相关属性:classes:设置SpringBoot启动类
2、整合MyBatis
(1)核心配置:数据库连接相关信息
(2)映射配置:SQL映射
3、整合MyBatis-Plus
(1)手工添加MyBatis-Plus对应的starter
(2)数据层接口使用BaseMapper简化开发
(3)需要使用的第三方技术通过勾选确定时,需要手工添加坐标
4、整合Druid
(1)整合Druid需要导入对应的starter
(2)根据Druid提供配置方式进行配置
(3)整合第三方技术通用方式
①导入对应的starter
②根据提供的配置格式,配置非默认值对应的配置项
5、SSMP整合案例:
(1)实体类开发——使用Lombok快速制作实体类
(2)Dao开发——整合MyBatisPlus,制作数据层测试类
(3)Service开发——基于MyBatisPlus进行增量开发,制作业务层测试类
(4)Controller开发——基于Restful开发,使用PostMan测试接口功能
(5)Controller开发——前后端开发协议
(6)页面开发——基于VUE+ElementUI制作,前后联调,页面数据处理,页面消息处理(列表,新增,修改,删除,分页,查询)
(7)项目异常处理
(8)按条件查询——页面功能调整、Controller修正功能、Service修正功能
6、数据层开发——分页功能
(1)分页操作需要设定分页对象IPage
在这里插入图片描述

(2)IP阿哥对象中封装了分页操作中所有数据
①数据
②当前页码
③每页数据总量
④最大页码值
⑤数据总量
(3)分页操作是在MyBatisPlus的常规操作基础上增强得到的,内部是动态的拼写SQL语句(limit)因此需要增强对应功能,使用MyBatisPlus拦截器实现
在这里插入图片描述

7、数据开发——条件查询
(1)使用QueryWrapper对象封装查询条件,推荐使用LambdaQueryWrapper对象,所有查询操作封装成方法调用

在这里插入图片描述
8、业务层开发:
(1)Service层接口定义与数据层接口定义具有较大区别,不要混用,关注业务名称,数据层与数据库有关
①selectByUserNameAndPassword(String username,String password)数据层
②login(String username,String password)业务层
(2)接口定义》》实现类定义
(3)快速开发方案:
①使用MyBatisPlus提供有业务层通用接口(ISerivce)于业务层通用类(ServiceImpl<M,T>)
②在通用类基础上做功能重载或功能追加
③主义重载时不要覆盖原始操作,避免原始提供功能丢失
9、表现层开发
(1)基于Restful进行表现层接口开发
①新增:POST;删除:DELETE;修改:PUT;查询:GET
②实体数据:@RequestBody
③路径变量:@PathVariable
(2)表现层消息一致性处理:
①设计表现层返回结果的模型类,用于后端前端进行数据格式统一,也称为前后端数据协议
②表现层接口统一返回值类型
(3)使用Postman测试表现层接口

http://www.lryc.cn/news/607515.html

相关文章:

  • Qwen2 RotaryEmbedding 位置编码仅仅是第一层有吗
  • 提问总结2
  • Eden 和 Survivor 比例可以调整么,参数是什么?还用到了哪些参数?
  • SpringCloud(一)微服务基础认识
  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • 04 基于sklearn的机械学习-梯度下降(上)
  • Linux内核构建系统中的auto.conf与autoconf.h:原理与作用解析
  • ARM Cortex-M 处理器的应用
  • NDI开发指南
  • LeetCode 热题100:206. 反转链表
  • 深入讲讲异步FIFO
  • 向华为学习——IPD流程体系之IPD术语
  • Java函数式编程之【Stream终止操作】【下】【三】【收集操作collect()与分组分区】【下游收集器】
  • 从零开始:Python编程快速入门指南
  • 实战指南:如何将Git仓库中的特定文件夹及其历史完整迁移到另一个仓库
  • vue+element 实现下拉框共享options
  • 智能客服系统实战:多轮对话与知识库检索完整实现
  • 《n8n基础教学》第三节:模拟一个自动化场景
  • Android使用MediaProjectionManager获取游戏画面和投屏
  • C语言-字符串(定义)、字符串函数(strlen、strcat、strcpy、strcmp、strlwr、strupr)
  • 【string类常见接口】
  • Linux系统编程Day3-- Linux常用操作(续)
  • 基于深度学习的医学图像分析:使用Autoencoder实现医学图像去噪
  • Flask 路由系统:URL 到 Python 函数的映射
  • Coze Studio概览(五)--工作流管理
  • 20250801在Ubuntu24.04.2LTS下编译firefly_itx_3588j的Android12时解决boot.img过大的问题
  • 【lucene】FastVectorHighlighter案例
  • 基于线性规划的储能充放电仿真系统
  • Android Frameworks从零开始
  • JSON 对象在浏览器中顺序与后端接口返回不一致的问题