婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用JDBC連接Mysql數據庫會出現的問題總結

使用JDBC連接Mysql數據庫會出現的問題總結

熱門標簽:外呼系統防封號違法嗎 400電話辦理都選易號網 湘潭電銷機器人咨詢電話 如何在高德地圖標注新地址 外呼系統服務 寶應電信400電話辦理費用 電銷機器人針對的 高德地圖標注中心個人注冊 高德地圖標注模式

首先理清幾個概念:

  • JDBC:java數據庫連接,是Orical公司的指定的一套規范接口
  • java數據庫驅動:JDBC的實現類,由相應的數據庫廠商提供,可以通過驅動去操作不同的數據庫
  • 在java-數據庫這里,jdbc-api中的所有包都是java.sql或者javax.sql

JDBC的操作步驟:

 (1)建立數據庫和表

 (2)創建項目

 (3)導入驅動jar包

 (4)注冊驅動

  Class.forName("com.mysql.jdbc.Driver");

 (5)獲取連接

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:端口號/項目名", "登錄名", "密碼");

前言

最近安裝了一個 mysql 8.0 版本的數據庫,在程序中連接的時候可謂是狀況不斷。之前也會遇到一些問題,這里就對使用 JDBC 連接mysql 會出現的問題做一個匯總。

在此之前說明一下環境:

  • 開發工具:IDEA
  • mysql版本: 8.0.12 for Win64 on x86_64 (MySQL Community Server - GPL)
  • mysql驅動包:8.0.12

驅動包URL 的改變

異常信息

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.

原因

通過異常我們可以發現,新的驅動url是com.mysql.cj.jdbc.Driver,經過在網上查閱資料發現,從 mysql6開始,驅動包開始使用新的驅動 url。如果使用舊的 5.0 版本的驅動包,則不用驅動URL,但是如果使用舊的驅動可能會出現一些意想不到的問題。所以還是建議將驅動包升級,然后改變 驅動 URL 的值。

解決方法

將驅動 URL 由com.mysql.jdbc.Driver 換成 com.mysql.cj.jdbc.Driver

SSL 警告

警告信息

Establishing SSL connection without server's identity verification is not recommended. 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. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

原因

對警告信息翻譯如下。

不建議在沒有服務器身份驗證的情況下建立SSL連接。根據MySQL 5.5.45+,如果未設置顯式選項,則默認情況下必須建立5.6.26+和5.7.6+要求的SSL連接。對于不使用SSL的現有應用程序,ValuyServer證書屬性設置為“false”。您需要通過設置useSSL=false來顯式禁用SSL,或者設置useSSL=true并提供用于服務器證書驗證的信任庫`。

解決方法

一般在開發中基本不需要使用 SSL 連接,在連接字符串后添加useSSL=false參數就行。但是如果真的有 SSL 連接的需要,則在驅動 URL 后添加useSSL=true參數。

jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8useSSL=false

時區問題

異常信息

java.sql.SQLException: 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.

原因

同樣也是由于版本升級后,新的版本數據庫和系統之間有了時區差異,需要指定時區serverTimezone

解決方法

連接字符串后添加參數serverTimezone=GMT%2B8,最終連接字符串如下:

jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8useSSL=falseserverTimezone=GMT%2B8

修改數據庫時間。先通過命令行連上數據庫,依次輸入命令及其輸出如下

mysql> show variables like "%time_zone";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone |  |
| time_zone  | SYSTEM |
+------------------+--------+
2 rows in set, 1 warning (0.04 sec)

mysql> set global time_zone="+8:00";
Query OK, 0 rows affected (0.01 sec)

XML 配置文件中 的轉義

異常信息

org.mybatis.generator.exception.XMLParserException: XML Parser Error on line 16: 對實體 “useSSL” 的引用必須以 ‘;' 分隔符結尾。

原因

這是我在使用mybatis generator時出現的錯誤。當時我想在連接字符串后加上useSSL參數,但是由于在 XML 文件中,是被禁止的,所以需要使用 的時要用它的轉義來代替。

解決方法

將連接字符串中的 符號改成

詳細連接字符串參考

jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=truecharacterEncoding=utf8characterSetResults=utf8useSSL=falseserverTimezone=GMT%2B8verifyServerCertificate=falseautoReconnct=trueautoReconnectForPools=trueallowMultiQueries=true

當然如果是使用 XML 作為配置文件,需要將 連接字符串中的 符號改成

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • java jdbc連接mysql數據庫實現增刪改查操作
  • JDBC連接MySql數據庫步驟 以及查詢、插入、刪除、更新等
  • JDBC連接MySQL5.7的方法
  • JSP使用JDBC連接MYSQL數據庫的方法
  • java使用jdbc連接數據庫工具類和jdbc連接mysql數據示例
  • JDBC 連接MySQL實例詳解
  • mysql jdbc連接步驟及常見參數
  • JDBC連接MySQL出現的問題
  • Java 通過JDBC連接Mysql數據庫
  • JDBC連接的六步實例代碼(與mysql連接)

標簽:馬鞍山 賀州 佛山 黃山 宿遷 南充 蘭州 黔南

巨人網絡通訊聲明:本文標題《使用JDBC連接Mysql數據庫會出現的問題總結》,本文關鍵詞  使用,JDBC,連接,Mysql,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用JDBC連接Mysql數據庫會出現的問題總結》相關的同類信息!
  • 本頁收集關于使用JDBC連接Mysql數據庫會出現的問題總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 湖口县| 湘潭市| 古蔺县| 武功县| 罗江县| 淮阳县| 武胜县| 桂东县| 安乡县| 民勤县| 喀什市| 洪泽县| 田阳县| 安塞县| 阿城市| 伊宁县| 淮阳县| 兴国县| 泰和县| 瑞金市| 金山区| 达日县| 巫山县| 巢湖市| 贡觉县| 即墨市| 甘泉县| 柘城县| 喜德县| 嘉祥县| 滨海县| 栖霞市| 磴口县| 富顺县| 酒泉市| 韩城市| 华容县| 澄城县| 瑞金市| 星座| 布尔津县|