前言
前不久學習了JDBC并通過基于MySQL的簡單項目進行了熟悉,期間遇到了一些問題,在此羅列出來,希望能對像我一樣的JDBC的初學者有幫助。
常見問題
使用驅動名com.mysql.jdbc.Driver無法連接配接成功
驅動名新版本的驅動名為com.mysql.cj.jdbc.Driver,舊版本沒有cj,使用時要根據版本而定。
報錯“The server time zone value ‘XXXXX’ is unrecognized or represents more than one time zone.”
在連接配接字元串後加上?serverTimezone=UTC,UTC為國際标準時間。示例如下:jdbc:mysql://localhost:3306/database_name?serverTimezone=UTC。
中文輸入亂碼
中文輸入的亂碼問題連接配接字元串後加上?useUnicode=true&characterEncoding=UTF-8。示例如下:
jdbc:mysql://127.0.0.1:3306/database_name?useUnicode=true&characterEncoding=UTF-8.
2和3的用法可用&相連共用。
SQL語句報錯“ Unknown column ‘xxx’ in ‘where clause’”
很可能是缺少單引号。對于SQL語句,String類型的指派需要加單引号,數字類不需要。
JDBC報錯"Before start of result"
結果集中起始位置為查詢結果的前一句,必須調用next()方法才能取到查詢目标,否則會出現Before start of result的報錯。