今天在学习javaEE的过程中搭建了一个web项目,由于现在官网的mysql版本主推的是8.0版本,高等级的版本带来的问题很明显,就是mysql版本、数据库驱动版本以及对应的JDK版本的不对等,以下列几个我搭建项目过程所遇到的几个由于mysql数据库版本升级到8.0后所遇到的问题:
一、mysql版本与数据库驱动的版本问题
由于大部分人本机所使用的mysql版本是mysql57或者或高或低的版本,所以我们使用的驱动大部分是mysql-connector-5.0+的版本,但是使用mysql8.0时我们就需要使用mysql-connector-8.0+的版本,如果遇到类似问题请注意自己的驱动版本是否与数据库版本对应
二、jdbc.properties或druid.properties等类似的数据库配置文件的配置问题
这个也是一个我所遇到的问题,下面我把我的配置文件内容贴上:
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///数据库名称?serverTimezone=GMT%2B8
username=root
password=123456#数据库连接密码
#初始化连接数量
initialSize=5
#最大连接数
maxActive=10
#最大等待时间
maxWait=3000
大家需要的可以自行复制,所以我们注意到我们的driverClassName从原先的com.mysql.jdbc.Driver变成了com.mysql.cj.jdbc.Driver这个需要注意到,至于具体原因我还没有去学习到,希望大家可以帮忙补充哦
三、时区问题
由于我们所在的中国的时区与mysql的不同,所以我们需要注意,当我们遇到如下类似异常时:
The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
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、通过命令行修改我们的mysql内置时间,请大家自行百度如何更改
2、也就是我配置文件中的url=jdbc:mysql:///数据库名称?serverTimezone=GMT%2B8这一句中的serverTimezone=GMT%2B8就是配置时区,如果大家不想去改时区那么麻烦,那就可以加上这么一句。
四、配置的JDK版本问题
这里请大家尽量使用1.7版本以上的JDK版本,否则可能会出现异常