java.time.DateTimeException: Invalid ID for region-based ZoneId, invalid format: ?й???׼ʱ?

文章讲述了在学习SpringBoot响应式编程时,遇到关于R2DBC连接错误,尤其是在URL中使用`serverZoneId`而不是`serverTimezone`时。作者发现将`serverZoneId`设置为`Asia/Shanghai`解决了错误,尽管最终确认这个配置可能是不正确的。
摘要由CSDN通过智能技术生成

学习响应式编程的时候,跟着老师敲代码 再r2dbc的连接上报错 (尚硅谷SpringBoot响应式编程教程,2024最新springboot3入门到实战 41讲 )
响应式编程内容比较新,互联网上没有找到好的解决方案

java.time.DateTimeException: Invalid ID for region-based ZoneId, invalid format: ?й???׼ʱ?

先说结论

如下修改即可
url: r2dbc:mysql://localhost:3306/test01?serverZoneId=Asia/Shanghai

在这里插入图片描述

@SpringBootTest
public class test {

    @Autowired
    R2dbcEntityTemplate r2dbcEntityTemplate;
    @Autowired
    DatabaseClient databaseClient;

     @Test
    public void getPerson() throws IOException {
        Criteria criteria = Criteria.empty();
        criteria.and("id").is(2)
                .and("name").in("a", "b");
        Query query = Query.query(criteria);
        r2dbcEntityTemplate.select(query, Person.class).subscribe(v -> System.out.println(v));
        System.in.read();
    }


spring:
  r2dbc:
    name: test
    username: root
    password: 123456
    url: r2dbc:mysql://localhost:3306/test01

这是一开始的yaml文件,然后我想着是不是有配置zoneId的地方

就把普通spring项目的url配置抄过来,还是不行

spring:
  r2dbc:
    name: test
    username: root
    password: 123456
    url: r2dbc:mysql://localhost:3306/test01?serverTimezone=Asia/Shanghai

在这里插入图片描述
这里也没有可以提供声明的

还是照旧报错,本想着去官网查一下的,但是这个r2dbc的后缀可能解析时候改了名字,于是试了一下,成功了

spring:
  r2dbc:
    name: test
    username: root
    password: 123456
    url: r2dbc:mysql://localhost:3306/test01?serverZoneId=Asia/Shanghai

在这里插入图片描述
虽然这个结果是错误的,再说了

为什么是serverZoneId

上一节课程如下构建的时候就报错了
在这里插入图片描述
在这里插入图片描述
这里加上任意一个都不会报错。
然后这个是serverZoneId 。。。。

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值