无障碍阅读方法
微信公众号关注:张家的小伙子
回复:10205
文章目录
- 无障碍阅读方法
- 说明
- 准备
- 创建mysql数据库和数据表
- 创建一个maven项目
- 添加项目依赖包
- 创建项目基本目录接口
- 启动类编写
- 编写application配置
- 添加跨域请求配置
- 创建实体-数据表映射类
- 创建Dao操作类
- 编写自己的增删改查接口和实现方法
-
- 接口方法定义
- 接口实现
- 编写控制器api接口
- 接口调用测试
说明
本文主要讲述使用Spring Boot3 结合Spring WebFlux 和 r2dbc 访问 mysql数据库做增删改查的基础案例。
与常见的阻塞式Spring MVC 不一样,Spring WebFlux为非阻塞响应式的解决方案,底层支持高并发,效率比Spring MVC 更快,资源占用更少。
准备
- 有java8以上的流式编程基础
- 有java9以上flow api 以及 Reactor相关知识
- idea 编程工具
- jdk17
- mysql 8
- maven
- postman
创建mysql数据库和数据表
-- 创建数据库
drop database if exists threeCloud;
create database threeCloud charset=utf8mb4 collate=utf8mb4_general_ci;
-- 使用此创建的数据库
use threeCloud;
-- 创建用户表
CREATE TABLE `t_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`username` varchar(255) NOT NULL COMMENT '用户名称',
`passwd` varchar(255) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `phone` (`phone`),
UNIQUE KEY `idcard` (`idcard`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
创建一个maven项目
创建一个maven项目,并创建一个属于本项目的java包存放源码。如下图:
添加项目依赖包
在pom.xml 中加入以下依赖,完整pom.xml 内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 此处用于定义需要的依赖版本号,方便管理 -->
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-boot-maven-plugin.version>3.3.2</spring-boot-maven-plugin.version>
<spring-boot-starter-webflux.version>3.3.2</spring-boot-starter-webflux.version>
<spring-boot-starter-data-r2dbc.version>3.3.2</spring-boot-starter-data-r2dbc.version>
<spring-boot-starter-data-jdbc.version>3.3.2</spring-boot-starter-data-jdbc.version>
<lombok.version>1.18.22</lombok.version>
<r2dbc-mysql.version>1.1.3</r2dbc-mysql.version>
<fastjson2.version>2.0.47</fastjson2.version>
</properties>
<groupId>com.three.test.webflux</groupId>
<artifactId>three-test-webflux</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<!-- 新增。r2dbc对于mysql的连接驱动 -->
<dependency>
<groupId>io.asyncer</groupId>
<artifactId>r2dbc-mysql</artifactId>
<version>${r2dbc-mysql.version}</version>
</dependency>
<!-- 新增。spring webflux 的依赖 -->
<dependency