使用java链接数据库的方法大家一定都了解
用过很久了,基本上都是固定的模式(就是因为方法较固定,所以一旦有更改就不容易发现)
相信大家都喜欢使用较新的东西来学习使用. 我也不例外,今天心血来潮建立了一个新工程, 用idea的maven下载了一个6.05版本的mysql驱动包. 之后调试的时候就总出现一些问题
主要是以下问题导致的:
- 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参数)
- 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(大概是要设定一个时区)
对应的解决方法:
- 添加SSL参数
useSSL=false
添加时区参数
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 is
com.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的加载驱动字符串的时候就要用这个新路径了.
最后说下,新的东西不一定是最好的.但是要有去探索的勇气,在开始上网搜索这个问题的时候,遇见了好几个问题描述一致的.
但是他们的解决问题是换回低版本的驱动包.
我觉得这样根本不是在解决问题