Maven
用于管理和构建 Java 项目的工具。
介绍 JavaWeb 后端基础,涵盖 Maven 项目管理与依赖配置、SpringBoot 入门、HTTP 协议详解、分层架构与 IOC/DI 原理、MySQL 数据库操作及 SQL 语句、JDBC 连接机制以及 MyBatis 持久层框架的使用。内容包含环境搭建、核心概念、代码示例及常见问题解决方案,旨在帮助开发者掌握后端开发的核心技术栈。

用于管理和构建 Java 项目的工具。
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型 (POM) 的概念,通过一小段描述信息来管理项目的构建。
作用:
在 IDE 中选择 File -> New -> Project -> Maven,按照向导完成配置。
在 pom.xml 中编写标签,在标签中使用引入坐标。定义坐标的 groupId(组织名称)、artifactId(模块名称)、version。点击刷新按钮,引入最新加入的坐标。如果不知道依赖的坐标信息,可查询 Maven 仓库。
主动断开依赖的资源,被排出的资源无需指定版本。
JUnit 单元测试类名命名规范为 XxxxxTest【规范】。JUnit 单元测试的方法,必须声明为 public void【规定】。
Junit 单元测试可以声明方法形参(参数化测试)。在单元测试方法运行前,通过@BeforeEach、@BeforeAll 做一些初始化操作;在单元测试方法运行后,通过@AfterEach、@AfterAll 做一些初始化操作。
依赖的 jar 包,默认情况下可以在任何地方使用。可以通过设置其作用范围。
常见的问题包括依赖冲突、版本不匹配等,需根据具体报错排查。
创建 Spring Boot 项目并启动即可运行。
检查网络环境或更换镜像源。
概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。
特点:
缺点:多次请求间不能共享数据。 优点:速度快。
包含 User-Agent, Accept, Content-Type 等。
通过 Servlet API 或框架提供的注解获取。
通常返回 JSON 或 HTML。
设置响应头和内容。
表现层、业务层、持久层。
Inversion of Control,简称 IOC。对象的创建控制权由程序自身转移到外部 (容器),这种思想称为控制反转。
Dependency Injection,简称 DI。容器为应用程序提供运行时,所依赖的资源,称之为依赖注入。
如何将一个类交给 IOC 容器管理?@Component(注意:是加在实现类上,而非接口上)。 如何从 IOC 容器中找到该类型的 bean,然后完成依赖注入?@Autowired。
前面声明 bean 的四大注解,要想生效,还需要被组件扫描注解**@ComponentScan扫描。该注解虽然没有显式配置,但是实际上已经包含在了启动类声明注解@SpringBootApplication中,默认扫描的范围是启动类所在包及其子包**。
在 Springboot 集成 web 开发中,声明控制器 bean 只能用@Controller。
声明 bean 的注解要想生效,需要被扫描到,启动类默认扫描当前包及其子包。
通过构造函数、Setter 方法或字段注入依赖。
语法:mysql [-h 数据库服务器 IP 地址 -P 端口号] -u 用户名 -p 密码
关系型数据库模型。
CREATE TABLE 语句。
在满足业务需求的前提下,尽可能选择占用空间小的数据类型。
CHAR, VARCHAR, TEXT 等。
DATE, DATETIME, TIMESTAMP 等。
表结构—查询、修改、删除
DROP TABLE, ALTER TABLE 等。
INSERT INTO 语句。
UPDATE 语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
DELETE 语句不能删除某个字段的值 (如果要操作,可以使用 UPDATE,将该字段的值置为 NULL)。
SELECT * FROM table_name;
WHERE 子句。
聚合函数:将一列数据作为一个整体,(所有聚合函数不参与 null 的统计)。
GROUP BY 子句。
where 与 having 区别:
排序方式:升序 (asc),降序 (desc);默认为升序 asc,是可以不写的。
ORDER BY 子句。
起始索引从 0 开始。
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL 中是 LIMIT。
如果起始索引为 0,起始索引可以省略,直接简写为 limit 10。
LIMIT offset, count;
在子表中加一个字段,关联父表的主键。
多表关系中保证数据的一致性、完整性和正确性。
在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一的 (UNIQUE)。
建立第三张中间表,中间表至少包含两个外键,分别关联两方主键。
SQL 语句中嵌套 select 语句,称为嵌套查询,又称子查询。
分类:
子查询的要点:先对需求做拆分,明确具体的步骤,然后在逐步编写 SQL 语句。
JDBC:(Java DataBase Connectivity),就是使用 Java 语言操作关系型数据库的一套 API。
使用 PreparedStatement 防止 SQL 注入。
Mybatis 的持久层接口命名规范为 XxxMapper,也称为 Mapper 接口。
在配置文件中更改连接池实现类。
根据 ID 删除用户。
INSERT 语句。
UPDATE 语句。
@Param 注解的作用是为接口的方法形参起名字的。
配置别名、类型处理器等。
格式:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online