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

新手做网站做什么样的/google推广一年3万的效果

新手做网站做什么样的,google推广一年3万的效果,安徽省卫生计生网站医共体建设,创建wordpress小工具1. 简介三月份已经介绍过R2DBC,它是一种异步的、非阻塞的关系式数据库连接规范。尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQL并不是一个理想的选择。这促使了一个通用的响应式关系数据库连接规范的诞…

1. 简介

三月份已经介绍过R2DBC,它是一种异步的、非阻塞的关系式数据库连接规范。

尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQL并不是一个理想的选择。这促使了一个通用的响应式关系数据库连接规范的诞生。作为拥有庞大用户群的关系式数据库MySQL也有了反应式驱动,不过并不是官方的。但是Spring官方将其纳入了依赖池,说明该类库的质量并不低。所以今天就尝尝鲜,试一下使用R2DBC连接MySQL。

2. 环境依赖

基于Spring Boot 2.3.1和Spring Data R2DBC,还有反应式 Web 框架Webflux,同时也要依赖r2dbc-mysql库,所有的Maven依赖为:

dev.miku

r2dbc-mysql

org.springframework.boot

spring-boot-starter-data-r2dbc

org.springframework.boot

spring-boot-starter-data-jdbc

org.springframework.boot

spring-boot-starter-webflux

MySQL版本为 5.7,没有测试其它版本。

3. R2DBC 配置

所有的R2DBC自动配置都在org.springframework.boot.autoconfigure.data.r2dbc包下,如果要配置MySQL必须针对性的配置对应的连接工厂接口ConnectionFactory,当然也可以通过application.yml配置。个人比较喜欢JavaConfig。

@Bean

ConnectionFactory connectionFactory() {

return MySqlConnectionFactory.from(MySqlConnectionConfiguration.builder()

.host("127.0.0.1")

.port(3306)

.username("root")

.password("123456")

.database("database_name")

// 额外的其它非必选参数省略

.build());

}

当ConnectionFactory配置好后,就会被注入DatabaseClient 对象。该对象是非阻塞的,用于执行数据库反应性客户端调用与反应流背压请求。我们可以通过该接口反应式地操作数据库。

4. 编写反应式接口

我们先创建一张表并写入一些数据:

create table client_user

(

user_id varchar(64) not null comment '用户唯一标示' primary key,

username varchar(64) null comment '名称',

phone_number varchar(64) null comment '手机号',

gender tinyint(1) default 0 null comment '0 未知 1 男 2 女 '

)

对应的实体为:

package cn.felord.r2dbc.config;

import lombok.Data;

/**

* @author felord.cn

*/

@Data

public class ClientUser {

private String userId;

private String username;

private String phoneNumber;

private Integer gender;

}

然后我们编写一个Webflux的反应式接口:

package cn.felord.r2dbc.config;

import org.springframework.data.r2dbc.core.DatabaseClient;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import reactor.core.publisher.Flux;

import reactor.core.publisher.Mono;

import javax.annotation.Resource;

/**

* The type User controller.

*

* @author felord.cn

* @since 17 :07

*/

@RestController

@RequestMapping("/user")

public class UserController {

@Resource

private DatabaseClient databaseClient;

/**

* 查询

*

* @return 返回Flux序列 包含所有的ClientUser

*/

@GetMapping("/get")

public Flux clientUserFlux() {

return databaseClient.execute("select * from client_user").as(ClientUser.class)

.fetch()

.all();

}

/**

* 响应式写入.

*

* @return Mono对象包含更新成功的条数

*/

@GetMapping("/add")

public Mono insert() {

ClientUser clientUser = new ClientUser();

clientUser.setUserId("34345514644");

clientUser.setUsername("felord.cn");

clientUser.setPhoneNumber("3456121");

clientUser.setGender(1);

return databaseClient.insert().into(ClientUser.class)

.using(clientUser)

.fetch().rowsUpdated();

}

}

调用接口就能获取到期望的数据结果。

5. 总结

乍一看R2DBC并没有想象中的那么难,但是间接的需要了解Flux、Mono等抽象概念。同时目前来说如果不和Webflux框架配合也没有使用场景。就本文的MySQL而言,R2DBC驱动还是社区维护(不得不说PgSQL就做的很好)。

然而需要你看清的是反应式才是未来。如果你要抓住未来就需要现在就了解一些相关的知识。这让我想起五年前刚刚接触Spring Boot的感觉。

来源:51CTO

作者:码农小胖哥

链接:https://blog.51cto.com/14901317/2523135

http://www.jmfq.cn/news/4889755.html

相关文章:

  • 绿叶网站怎么做/站长工具外链查询
  • 学做蛋糕的网站/互联网推广引流是做什么的
  • 北京朝林建设集团网站/榆林百度seo
  • 天津网站建设方案维护/全国最新疫情实时状况地图
  • 政府机关网站备案/深圳门户网站
  • 用邮箱地址做网站域名好吗/外包seo公司
  • .net 做手机网站吗/移动网站推广如何优化
  • app 网站开发团队人员配置/大兴今日头条新闻
  • 知名网站建设商家/网址域名ip查询
  • 网站优化实习报告/seo长尾快速排名
  • 企业做网站的用途/在线识别图片找原图
  • 多用户软件商城/aso优化工具
  • 域名注册后能开始建设网站吗/怎么自己做一个小程序
  • 专门做自助游攻略的网站是哪个/永久免费低代码开发平台
  • 网页设计html实验总结/seo外包杭州
  • 全省建设信息网站/百度首页网址
  • 运城做网站费用高吗/seo咨询推广
  • 如何做网站怎么赚钱吗/网站流量监控
  • domain 网站建设/seo站群优化
  • 电视台网站建设方案.doc/爱站站长工具
  • 建设部网站施工合同范本去哪找/关键词首页排名优化公司推荐
  • 品牌建设 厚植/大连谷歌seo
  • 做网站标准步骤/seo网站诊断方案
  • flash网站制作教程/时空seo助手
  • 做网站解析要多久/网站推广排名哪家公司好
  • 外卖网站那家做的好/发软文
  • 明天上海全面封控/深圳网站优化培训
  • 周到的做pc端网站/关键词推广操作
  • 杭州市建设住房保障局网站/360关键词排名百度
  • 怎样购买起名软件自己做网站/全网营销公司