Java通過mysql-connector-java-8.0.11連線MySQL Server 8.0遇到的幾個問題
這次新安裝了一個SQL/">MySQL資料庫,然後navicat連線資料庫一點問題沒有。但是通過Java的jdbc連線卻怎麼都建立不了連線。
報如下錯:
網上找了很久找到了原因:
資料庫用的是Mysql8版本,但工程裡面mysql驅動包卻是5.1.37版本。只需修改驅動包為8.0.11版本即可。
而且驅動的包也改變了,由原來的:/generatorSqlmapCustom/lib/mysql-connector-java-5.1.28-bin.jar
換成了:mysql-connector-java-8.0.11.jar
結構:
換成了:
因此Mysql8.0連線JDBC驅動需要注意以下幾點:
1,驅動的類換了個名字
Class.forName("com.mysql.cj.jdbc.Driver");
加上useSSL=true或false
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true", "root", "123456");
加上serverTimezone=GMT
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true&serverTimezone=GMT", "root", "123456");
如果是maven引入,則需要由:
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
改為:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
在mybatis逆向工程裡面配置改成如下:
<!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/taobao" userId="root"
password="aaaaaa">
</jdbcConnection>
SSM框架中,配置資料庫連線的問題
MySQL資料庫版本是8.0.11.
要用驅動:com.mysql.cj.jdbc.Driver
最主要的是資料庫的連線url。
搞了半天才把問題搞明白:
資料庫url後面要加上引數:
jdbc:mysql://localhost:3306/taobao?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
另外,在properties檔案中的配置和xml裡面配置時候需要注意:連線符號:
在xml裡面配置:需要使用轉義符:&代替&
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="jdbc:mysql://localhost:3306/taobao?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false" />
<property name="username" value="root" />
<property name="password" value="aaaaaa" />
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="maxActive" value="10" />
<property name="minIdle" value="5" />
</bean>
而在properties裡面,則不能使用轉義符,而直接使用:&
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taobao?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
jdbc.username=root
jdbc.password=aaaaaa
Linux公社的RSS地址 : ofollow,noindex" target="_blank">https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-09/154469.htm