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

四、基于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.xdnf.cn/news/16917.html

相关文章:

  • 【Mysql】联合索引生效分析案例
  • 【Electron】打包后图标不变问题,图标问题
  • JavaWeb笔记2-JavaScriptVueAjax
  • PyTorch分布式训练:从入门到精通
  • AG-UI 协议全面解析--下一代 AI Agent 交互框架医疗应用分析(下)
  • Js引用数据类型和ES6新特性
  • Python调用C++动态库
  • k8s云原生rook-ceph pvc快照与恢复(下)
  • 【Halcon 】Halcon 实战:如何为 XLD 模板添加极性信息以提升匹配精度?
  • iPhone 恢复出厂设置是否会删除所有内容?
  • 流式输出阻塞原因及解决办法
  • Pydantic模块学习
  • vivado扫盲:dcp(腾讯元宝)
  • QT6 源,十章绘图(2)画刷 QBrush:刷子只涉及填充颜色,线型,填充图片,以及变换矩阵这几个属性,附源代码带注释。
  • 从零到一:Linux内核MMU启动与虚拟内存体系建立全流程详解
  • gitlab+jenkins的ci/cd部署
  • win11 命令禁用客户体验改善计划
  • 区块链概述
  • 云计算k8s集群部署配置问题总结
  • ARM Cortex-M 处理器的应用
  • Hive SQL (HQL) 编辑指南
  • vscode cursor配置php的debug,docker里面debug
  • 20250801在Ubuntu24.04.2LTS下编译firefly_itx_3588j的Android12时解决boot.img过大的问题
  • django的数据库原生操作sql
  • PHP在现代Web开发中的应用与优势分析
  • ACS-电机控制Buffer-任意路径规划(PVSPLINE绘制圆形)
  • OCC任务新SOTA!华科提出SDGOCC:语义深度双引导的3D占用预测框架(CVPR 2025)
  • Shader开发(六)什么是着色器
  • SQL数据库连接Python实战:疫情数据指挥中心搭建指南
  • STM32 使用 RTC 实现实时时钟功能