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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速学习 后端服务开发(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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
66 4
|
4天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
14 2
|
23天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
|
1月前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
105 3
|
1月前
|
存储 前端开发 Java
深入理解后端开发:从基础到高级
本文将带你走进后端开发的神秘世界,从基础概念到高级应用,一步步揭示后端开发的全貌。我们将通过代码示例,让你更好地理解和掌握后端开发的核心技能。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息和启示。
|
1月前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
1月前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
52 1
|
1月前
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
49 1
|
1月前
|
负载均衡 监控 API
后端开发中的微服务架构实践与挑战
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势和面临的挑战,并通过案例分析提出了相应的解决策略。微服务架构以其高度的可扩展性和灵活性,成为现代软件开发的重要趋势。然而,它同时也带来了服务间通信、数据一致性等问题。通过实际案例的剖析,本文旨在为开发者提供有效的微服务实施指导,以优化系统性能和用户体验。
|
1月前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带领读者从零基础开始,一步步深入到Node.js后端开发的精髓。我们将通过通俗易懂的语言和实际代码示例,探索Node.js的强大功能及其在现代Web开发中的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的见解和技巧,让你的后端开发技能更上一层楼。

热门文章

最新文章