逆向生成代码出现的jdbc数据源连接的问题(连接mysql8.0.17)`com.mysql.cj.jdbc.Driver

前言
我太大意了,我以为build success 他就成功了,结果他没有生成文件, 这是一个不报错的问题,但是他没报错呀就报了一个警告,(警告是什么后文再续)然后我把这个警告改了以后,nice,错误一连串的向我走来了......
错误集锦)

(其实都很简单,我就是总结一下吐吐槽

1.那个不报错的问题

文字叙述:我的mysql-connector-java jar包版本是5.1.47,然后我的mysql是8.0.17,虽然maven运行是成功的,但是他压根就没连上
然后改了配置版本

 <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.17</version>
 </dependency>

改下配置这个问题就解决了

2.那个警告

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
翻译:
在这里插入图片描述
就是jdbc数据源连接那里,然后接着改

        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"                   connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=Asia/Shanghai
        " userId="root" password="root">
        <property name ="nullCatalogMeansCurrent" value ="true" />
</jdbcConnection>

这就是最终结果

3. xml文件每个attribute(属性)之间以分号结尾
就是连接符“&”,
UNescaped &or nonterminated character/entity reference

在这里插入图片描述
4.mysql5.0和mysql6.0及以上版本发生了变化,换了jdbc 的连接驱动
由com.mysql.jdbc.Driver到 com.mysql.cj.jdbc.Driver
而且,需要指定时区serverTimezone:(服务器时区)
如果不指定报错如下:
The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone.

5. 然后这个时区就也有区别了
UTC:世界标准时间,所以我们用了是会有时差的

所以改成了Asia/Shanghai更符合需求

如果版本是8.0以上版本的mysql那个property要加上,解决从多个数据库表生成mapper的问题
https://blog.csdn.net/cJune/article/details/93412125

官网地址http://mybatis.org/generator/usage/mysql.html
在这里插入图片描述

小结
都是一些小问题,我应该想到mysql升级会发生变化的,我应该先查查就不会有这些怪问题了,哈哈。好了,总结结束~

感谢您的阅读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值