mybatis的xml中表名称的大小写和数据库的表名称大小写不一致问题

文章讲述了在Mybatis中遇到的XML映射文件表名与数据库表名大小写不一致的问题,以及如何通过配置MySQL的lower_case_table_names参数来解决。作者通过实际案例和排查过程揭示了问题所在。

记录mybatis的xml中表名称的大小写和数据库的表名称大小写不一致问题
1.场景

1.1数据库建表的表名称USER,
1.2mybatis的xml中使用的是user.
1.3使用mybatis的租户,并配置了。
1.4 租户A,数据库地址192.168.232.150(配置了不区分大小写)
租户B,数据库地址192.168.232.151(没有配置了区分大小写)
2.异常信息
Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, please exclude the tableName or statementId
3.异常排查
3.1通常我们会认为是sql问题,直接把sql(select * from user)拿到数据库客户端上执行,其实如果我只有数据库那么会很快排查出来,但是我直接把sql在[数据库地址192.168.232.150(配置了不区分大小写)]上执行了,sql一致运行正常.如果在[192.168.232.151(没有配置了区分大小写)]上执行就会发现提示没有这张表。服务启动后链接是【租户B,数据库地址192.168.232.151(没有配置了区分大小写)】哎。。。
3.2后来直接断点打到异常处,点击异常信息原因,一步步点进去,会发现,有个异常信息是表不存在,表名称和数据库的名称大小写不一致
3.3在[192.168.232.151(没有配置了区分大小写)]上使用sql(select * from USER)正常。找到原因了。。。。
3.4mysql的配置文件有个设置表名称区分大小写的配置。修改为1即可。
lower_case_table_names参数详解:
lower_case_table_names=1
其中0:区分大小写,1:不区分大小写

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值