后端服务开发(1) | 学习笔记

简介: 快速学习 后端服务开发(1)

开发者学堂课程【基于STM32的端到端物联网全栈开发后端服务开发(1)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/574/detail/7946


后端服务开发(1)


目录:

一、服务端的应用开发

二、后端常用开发语言

三、后端框架的认识

四、项目运行的逻辑流程


一、服务端的应用开发

后端的基本概念

1在软体架构和程序设计领域,前端是软件系统中直接和用户交互的部分,而后端控制着软件的输出

2、前端通过 ajax 等技术向后端进行网络请求;后端收到请求后对数据库进行操作,返回给前端 JSON 数据;前端把相应数据展示在页面上
3、将软件分为前端和后端是一种将软件不同功能的部分相互分离的抽象

如图:

image.png


image.png二、后端常用开发语言

Java
Java
是一门面向对象编程语言,不仅吸收了 C++语言的各种优点,还摒弃了 C++里难以理解的多继承,指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。

public class Test {
public static void
main(String[] args)
{ System.out.printIn("hello!!");
}}}

Mysql

MySQL 是最流行的关系型数据库管理系统,操作数据库 MySQL 使用标准的 SQL 数据语言形式。

insert into student

values(null,'aa',

','18988-10-2','......');

XML 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,它非常适合万维网传输。

George

John

Don't forget the

meeting!


三、后端框架的认识

基于框架开发:
1、随着计算机技术的不断发展,针对后端相关部分的开发,涌现出了大量具有强大功能的相关框

2、基于框架,开发者可以更方便快速的实现相关功能,并且在性能上也有良好的保证

程场景的智能家居平台,基于以下框架进行开发:MySQLMybatisSpringBoot

MySQL:后端中各种数据的存储需要设计和使用数据库,MySQL 是一种开放源代码的关系型数据库管理系统。Mybatis:在 Java 中操作 Mysq| 语句一般用到持久层框架 Mybatis;
SpringBoot
:整合了常用框架 Mybatis+springmvc 等,省去了复杂的配置;
Maven:跨平台的项目管理工具。

如图:

Mysql 简介:

1SQL 被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。
2、MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

关系型数据库的典型概念:
数据库:数据的仓库
:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式

:每一行的数据
:列用于规定数据格式
字段:数据的某个列

Mysql 数据库的操作:操作 Mysql 主要是对数据库、表操作;可以用 Navicat 可视化工具,也可以用命令行操作。

操作 Mysql 常用操作有:
1
、对数据库和表进行操作:创建数据库,删除数据库,切换数据库,创建表。

对数据库记录()进行操作:对数据库表记录插入,更新,删除2、对数据库查询操作,主要是用来查询数据,不会对数据造成变化。

image.png

MyBatis 简介
支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

MyBatis 可以对配置和原生 Map 使用简单的 XML 或注解,将接口和 Java POJOs(Plain Old Java Objects,普通的Java 对象)映射成数据库中的记录.
MyBatis 优点:
简单易学:本身就很小且简单
没有任何第三方依赖,最简单安装只要两个 jar 文件+配置几个 sql 映射文件,易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现

MyBatis 功能架构:

API 接口层
提供给外部使用的接口 API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理

数据处理层:

负责具体的 SQL 查找、SQL 解析、SQL 执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑

Springboot 介绍

Springboot 解决的问题
以往采用 SpringMVC+Spring+Mybatis 框架进行开发时,需搭建和整合三大框架,要做很多工作,比如配置web.xml,配置 Spring,配置 Mybatis,并将它们整合在一起等,而 Spring boot 框架对此开发过程进行了革命性的颠覆,抛弃了繁琐的 xml 配置过程,采用大量的默认配置简化开发过程。
Springboot
的特点:

1、可以完全不使用 xml 配置2、内嵌 servlet 容器,降低了对环境的要求,可用命令直接执行项目

3、提供了 starter POM,能够非常方便的进行包管理

4、对主流框架无配置集成。

Maven 介绍

主要作用是统一开发规范与工具以及统一管理 jar
idea 配置好 maven 以后只需要在项目的 pom.xml 文件中加入依赖。

例:

<!--https://mvnrepository.com/artifact/tk.mybatis/mapper>
<dependency>
<groupld>tk.mybatis</groupld>
<artifactld>mapper</artifactld>
<version>4.1.5</version>
</dependency>

Maven 从远程仓库中下载 jar 包至 Idea 配置的本机仓库地址中 IDEA 自动携带 Maven,可在 idea sttings 中查看配置的 maven 本地仓库

Maven 工程配置。

打包方式:jar 父工程:spring-boot-starter-parent,是 SpringBoot 的父依赖,当前项目就是 SpringBoot 项目

依赖关系:mybatis-spring-boot-starter:引入 Mybatis 框架,方便对数据库的操作。

mapper-spring-boot-starter:基于 Mybatis 的增强类,进一步简化对数据库的操作。
spring-boot-starter-jdbc:连接数据库

spring-boot-starter-web:默认使用嵌套式的 Tomcat 作为 Web 容器对外提供 HTTP 服务。
mysql-connector-java:是 MySQL JDBC驱动包

HikariCP:数据库连接池:负责分配、管理和释放数据库连接

应用配置文件。

路径:src/main/resources/application.properties 主要配置了数据库等相关操作

1、配置连接池

2mapper 文件位置

3、前后端交互的端口号

4、数据库 url,用户名、密码

使用 Navicat 建表

1、使用 Navicat 建立 MySQL 数据库

2、建表 test_model
3
、插入一条测试数据如下:
insert into `test_model`(`id`,`name`,`age`,`modify_time`,`create_ time`)

values(1,‘李四’,18,2019-03-04 09:52:09',2019-03-04 09:52:11')

创建 Java :TestModel

和新建数据表结构一一对应 id,name,age,miodifyTime,create Time
Mapper
文件的使用

1BaseMapper 继承 Mapper
2
TestMapper 继承 BaseMapper
3
、在 TestMapper.xml 中映射 TestMapper 中方法,此例为空(用到的方法已被封装好了)


四、项目运行的逻辑流程

打开项目:读取 Maven 配置文件,下载依赖 jar
启动 main()入口(DeviceAdminApplication.java

读取 application.properties 文件,配置数据库参数                    
读取 mapper 文件,定义数据库访问接口,映射 SQL 语句

Basemapper.java

Testmapper.java

Testmapper.xml

TestModule java
TestController.java

通过 Controller 类处理"hello"路由请求,操作数据库返回

mvbatis-spring-boot-starter

mapper-spring-boot-starter

spring-boot-starter-jdbc

spring-boot-starter-web

mvsal-connector-java

HikariCP

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
5月前
|
人工智能 Java API
后端开发必看:零代码实现存量服务改造成MCP服务
本文介绍如何通过 **Nacos** 和 **Higress** 实现存量 Spring Boot 服务的零代码改造,使其支持 MCP 协议,供 AI Agent 调用。全程无需修改业务代码,仅通过配置完成服务注册、协议转换与工具映射,显著降低改造成本,提升服务的可集成性与智能化能力。
1560 1
|
5月前
|
前端开发 Java 数据库连接
后端开发中的错误处理实践:原则与实战
在后端开发中,错误处理是保障系统稳定性的关键。本文介绍了错误分类、响应设计、统一处理机制及日志追踪等实践方法,帮助开发者提升系统的可维护性与排障效率,做到防患于未然。
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
514 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
7月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
464 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
432 6
|
8月前
|
前端开发 JavaScript 关系型数据库
2025 年前端与后端开发方向的抉择与展望-优雅草卓伊凡
2025 年前端与后端开发方向的抉择与展望-优雅草卓伊凡
614 5
2025 年前端与后端开发方向的抉择与展望-优雅草卓伊凡
|
8月前
|
人工智能 小程序 NoSQL
【一步步开发AI运动小程序】二十一、如何将AI运动项目配置持久化到后端?
本文介绍基于云智「Ai运动识别引擎」的运动配置持久化方案,旨在优化小程序或Uni APP中AI运动识别能力。通过将运动检测参数(如`Key`、`Name`、`TickMode`、`rules`或`samples`)持久化到后端,可避免因频繁调整运动参数而重新发布应用,提升用户体验。持久化数据结构支持规则和姿态样本存储,适用于关系数据库、文件或文档数据库(如MongoDB)。此外,云智还提供运动自动适配工具及「AI乐运动」产品,助力快速实现AI体育、全民健身等场景。
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
250 32
|
11月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
543 2
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
883 4

热门文章

最新文章