jdbc : mysql 6.05加载踩坑

使用java链接数据库的方法大家一定都了解


用过很久了,基本上都是固定的模式(就是因为方法较固定,所以一旦有更改就不容易发现)


相信大家都喜欢使用较新的东西来学习使用. 我也不例外,今天心血来潮建立了一个新工程, 用idea的maven下载了一个6.05版本的mysql驱动包. 之后调试的时候就总出现一些问题


主要是以下问题导致的:

  1. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set(要求我们设置一个SSL参数)
  2. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support(大概是要设定一个时区)

对应的解决方法:

  1. 添加SSL参数useSSL=false
  2. 添加时区参数serverTimezone=UTC

    完整的url为:

jdbc:mysql://localhost:3306/fzz?serverTimezone=UTC&useSSL=false

主要就是加了两个参数,SSL参数好像是什么加密的东西,还有一个时区的参数.

说来也是很羞愧啊,数据库链接就只知道要配置驱动,根本就不知道这个url后面还有参数.

另外,我是在配置hibernate时出现的这个问题,在hibernate的xml文件中是不支持’&’符号的,因此需要使用’& a m p ;’(博客编辑器只能加空格,用的时候把空格去掉)进行转义.

另外在加载的时候还有这么一句:
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.

是由我们最常用的com.mysql.jdbc.Driver输出的,也就是说加载这个驱动就会报这个系统错误,它的目的是不让以前的老程序直接出问题,但是它已经把驱动迁移到了com.mysql.cj.jdbc.Driver 下,也就是说我们以后再写jdbc的加载驱动字符串的时候就要用这个新路径了.

最后说下,新的东西不一定是最好的.但是要有去探索的勇气,在开始上网搜索这个问题的时候,遇见了好几个问题描述一致的.

但是他们的解决问题是换回低版本的驱动包.

我觉得这样根本不是在解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值