使用mybatis逆向工程连接mysql8.0数据库出现的坑

在使用mybatis逆向工程与mysql8.0配合时,遇到时区设置和重复代码生成的挑战。通过在数据库连接字符串中指定serverTimezone=GMT%2b8解决时区问题。官方建议添加属性'nullCatalogMeansCurrent = true'至JDBC配置,防止为MySql信息模式的表生成代码。若出现XML重复代码,可能是多人并发操作或权限导致,可手动删除重复部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先jar包换成最新的
在这里插入图片描述
数据库连接的时候稍稍改一下,后面要加上serverTimezone=GMT%2b8指定时区。
在这里插入图片描述
接下来<property name="nullCatalogMeansCurrent" value="true"></property>这个是重点,配置了这个属性后就一切正常了。
这是官网上面的说法:
在这里插入图片描述
翻译过来的意思就是:如果您使用的是Connector / J的8.x版,您可能会注意到生成器尝试为MySql信息模式(sys,information_schema,performance_schema等)中的表生成代码。这可能不是您想要的! 要禁用此行为,请将属性“nullCatalogMeansCurrent = true”添加到JDBC。

最后说一下,个别会出现xml生成多段重复代码的问题,这是因为数据库同时有多人连接,或者你拥有的数据库权限能获取到其他的库里面有相同的表就会导致导出的pojo和xml不一致,最好还是指定一下导出的数据库


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值