复盘springboot配置shardingsphere-jdbc的一些问题

本文讲述了在使用SpringBoot3.2.5配合MyBatis3.0.3、Shardingsphere5.2.1和Druid1.2.22时遇到的分表配置失效问题,主要涉及配置文件错误、驼峰命名与中划线命名的冲突,以及最终的解决方案。
摘要由CSDN通过智能技术生成

一、项目相关依赖

        springboot3.2.5 + mybatis3.0.3 + shardingsphere-jdbc5.2.1 + druid1.2.22

二、出现问题:

        在使用中发现分表配置没有生效,因为数据库存在和逻辑表名相同的物理表,所以没有及时发现这个问题。

三、解决过程:

        1、发现分表配置未生效(即逻辑表user_info未映射到物理表user_info_1上),怀疑是配置出错,所以将springboot启动日志改为debug,观察shardingsphere的配置加载情况,发现了以下信息:

                果然是配置文件的问题,然后发现YamlShardingRuleSpringBootConfiguration里的配置路径是:

        最后发现yaml配置文件中少了rules这一层级。

        2、修改配置后重启,又报错:java.lang.IllegalArgumentException: Type is required

       

        从源码中发现该错误是无法从配置文件中读取到属性:spring.shardingsphere.rules.sharding.sharding-algorithms.one_user_info_inline.type

        但是又能通过以下前置判断条件,说明已经正常读取到配置

        最后发现是因为配置文件中采用了驼峰命名引起的问题(如上图,程序中会自动转化为中划线连接)
PropertyUtil.containPropertyPrefix(environment, prefix)) 能够正确判断驼峰命名的配置
String type = environment.getProperty(key)  不能正确获取到驼峰命名的配置项(key已经转化为中划线连接)

        最后将配置文件全部改为中划线即可解决该问题。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在实际工作中应用高效工作复盘-O混合式课程所学可以帮助你提升工作效率和质量,以及提供更好的自我和团队协作能力。以下是可能的改变和解决问题的方法: 1. 识别复盘中存在的问题:OMO混合式课程可能帮助你认识到你在复盘过程中可能存在的问题,比如缺乏系统性、不够深入、忽视重要细节等。你可以通过学习课程中的方法和技巧,更好地识别问题并加以解决。 2. 提高复盘效率:OMO混合式课程可能教授了一些高效的复盘方法,例如SMART目标设定、5W1H问题分析法、鱼骨图等。通过学习这些方法,你可以更迅速地找到问题根源、制定解决方案,并在实际工作中提高复盘效率。 3. 提升自我管理能力:OMO混合式课程可能强调了自我管理的重要性,例如时间管理、优先级排序、任务分解等。这些技能可以帮助你更好地组织和规划工作,提高自我效能感,并更好地应对工作挑战。 4. 加强团队协作能力:OMO混合式课程可能涉及到团队复盘和共享经验的内容。通过学习这些课程,你可以了解如何在团队中进行有效的复盘和知识分享,促进团队学习和协作,提高整个团队的绩效。 综上所述,通过应用高效工作复盘-OMO混合式课程所学,你可能会改善复盘中存在的问题,并在实际工作中提高工作效率、自我管理能力和团队协作能力。这将有助于你更好地应对工作挑战,取得更好的成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值