MySql 8版本以上Driver、URL配置
1.加载jdbc驱动的不同
在连接mysql时,所加载的驱动到底要怎么写?
这里是原生jdbc。
Class.forName("com.mysql.cj.jdbc.Driver");// 加载 MySql 驱动
我这里的驱动包是8.0.19版本的。所以驱动要加上 cj ,8版本一下的的就不需要 cj 。具体是哪一种写法,请你继续往下面看。
如果用的是 druid 或者是 使用 properties 文件去配置 mysql 数据库,也是一样的
(1)druid
druid有相应的方法可以去配置 driver 、url 、username 、 password 。这里就先举例 driver 的配置方法。
//创建 druid 连接池对象,获取数据源
DruidDataSource dataSource = new DruidDataSource();
//设置数据源驱动
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
(2)properties 配置文件
这里说一下,properties 配置文件存放的是键值对,冒号前面是”键”,后面是”值“。所以在配置properties 时,着重点是“值”得配置。而“键”只是一个名字而已,可以随便设置。为了能清楚的知道这个“键”对应的”值“是驱动,所以设置为 driver 。
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/spring?serverTimezone=UTC
username=root
password=666
如何找到
要想知道自己的驱动该怎么配置,就要找到所导入的驱动包。
打开图片中的java.sql.Driver文件,文件里面的内容就是正确的驱动。
重点来了
2.URL的配置
url的配置就和driver的配置不一样了,driver看驱动包版本,url是看mysql的版本。
正常的url配置是
jdbc:mysql://ip地址:端口号/数据库名
现在的大部分人在连接数据库时会遇到如下错误
这样
或者是这样
当你看到这样一串英文的时候,那就是因为你mysql版本高了,需要配置时区。
在 url 的数据库后加:?serverTimezone=UTC
jdbc:mysql://ip地址:端口号/数据库名?serverTimezone=UTC
这样是将时区与美国时区同步。