介绍
创建connectionFactory
本篇文章为大家展示了如何在mysql中使用r2dbc,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
要想使用r2dbc-mysql,我们需要添加如下的maven依赖:
& lt; dependency> & lt;才能groupId> dev.miku</groupId> & lt;才能artifactId> r2dbc-mysql</artifactId> & lt;才能version> 0.8.2.RELEASE</version> & lt;/dependency>
当然,如果你想使用快照版本的话,可以这样:
& lt; dependency> & lt;才能groupId> dev.miku</groupId> & lt;才能artifactId> r2dbc-mysql</artifactId> & lt;才能version> $ {r2dbc-mysql.version} .BUILD-SNAPSHOT & lt;/dependency> & lt; repository> & lt;才能id> sonatype-snapshots</id> & lt;才能name> SonaType  Snapshots & lt;才能url> https://oss.sonatype.org/content/repositories/snapshots</url> & lt;才能snapshots> ,,,& lt; enabled> true & lt;才能/snapshots> & lt;/repository>
创建connectionFactory
创建connectionFactory的代码实际上使用的r2dbc的标准接口,所以和之前讲到的h3的创建代码基本上是一样的:
//,注意:,,query string must be URL 编码 ConnectionFactory ConnectionFactory =, ConnectionFactories.get ( “才能r2dbcs: mysql://根:database-password-in-here@127.0.0.1:3306/r2dbc ?“+ “才能zeroDate=use_round&“+ “才能sslMode=verify_identity&“+ “才能useServerPrepareStatement=true&“+ “才能tlsVersion=TLSv1.3 % 2 ctlsv1.2 % 2 ctlsv1.1&“+ “才能sslCa=% 2 fpath % 2 fto % 2 fmysql % 2 fca.pem&“+ “才能sslKey=% 2 fpath % 2 fto % 2 fmysql % 2 fclient-key.pem&“+ “才能sslCert=% 2 fpath % 2 fto % 2 fmysql % 2 fclient-cert.pem&“+ “才能sslKeyPassword=key-pem-password-in-here" )//,Creating a Mono  using Project 反应堆 Mono不同的是connectionfactory传入的参数不同。
我们也支持unix域套接字的格式:
//, Minimum configuration for unix domain 插座 ConnectionFactory ConnectionFactory =, ConnectionFactories.get (“r2dbc: mysql://root@unix ? unixSocket=% 2 fpath % 2 fto % 2 fmysql.sock") Mono同样的,我们也支持从ConnectionFactoryOptions中创建ConnectionFactory:
ConnectionFactoryOptions options =, ConnectionFactoryOptions.builder () .option才能(司机,“mysql") .option才能(主机,“127.0.0.1") .option才能(用户,“root") .option才能(港口,3306),//,可选的,default 3306 .option才能(密码,“database-password-in-here"),//,可选的,,default 空,,null means has no 密码 .option才能(数据库,,“r2dbc"),//,可选的,,default 空,,null means not specifying 从而数据库 .option才能(CONNECT_TIMEOUT, Duration.ofSeconds(3)),//,可选的,,default null, null means no 超时 .option才能(SSL,,真的),//,可选的,,default sslMode is “preferred",, it will be ignore if sslMode is 集 .option才能(Option.valueOf (“sslMode"),“verify_identity"),//,可选的,,default “preferred" .option才能(Option.valueOf (“sslCa"),“/道路//mysql/ca.pem"),//, required when sslMode is verify_ca verify_identity,趁机,default 空,,null means has no server CA cert .option才能(Option.valueOf (“sslCert"),“/道路//mysql/client-cert.pem"),//,可选的,,default 空,,null means has no client cert .option才能(Option.valueOf (“sslKey"),“/道路//mysql/client-key.pem"),//,可选的,,default 空,,null means has no client 关键 .option才能(Option.valueOf (“sslKeyPassword"),“key-pem-password-in-here"),//,可选的,,default 空,,null means has no password for client key (即只“sslKey") .option才能(Option.valueOf (“tlsVersion"),“TLSv1.3, TLSv1.2, TLSv1.1"),//,可选的,,default is auto-selected by 从而服务器 null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null如何在mysql中使用r2dbc