MySQL安裝配置jdbc和基礎學習

準備工作(一):mysql安裝配置和基礎學習

  使用JDBC操作數據庫之前,首先你需要有一個數據庫。這里提供了3個鏈接供讀者自學,如果曾有過SQL語言的使用經歷(包括在學校中的課堂學習),前兩個鏈接足以上手。

  1.安裝和配置:mysql安裝圖解 mysql圖文安裝教程(詳細說明)

  2.基本操作:21分鐘 MySQL 入門教程

  3.簡易命令查詢 :一千行MySQL學習筆記

?

  建議邊看入門教程,邊練習,在練習insert、update、select、delete等基本操作的同時,將后面要用的表建好。

?

特別說明其中的jdbc.url配置:如果你已經升級好了mysql-connector,其中的characterEncoding=utf8可以被自動被識別為utf8mb4(當然也兼容原來的utf8),而autoReconnect配置我強烈建議配上,我之前就是忽略了這個屬性,導致因為緩存緣故,沒有讀取到DB最新配置,導致一直無法使用utf8mb4字符集,多么痛的領悟!!

沒有讓mysql驅動開啟批量執行sql的開關。

怎么開啟呢?在拼裝mysql鏈接的url時,為其加上allowMultiQueries參數,設置為true,如下:

jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true  ?  mysql?JDBC?URL格式如下:?jdbc:mysql://[host:port],[host:port].../[database][?參數名1][=參數值1][&參數名2][=參數值2]...

常用的幾個較為重要的參數:?
參數名稱 參數說明 缺省值 最低版本要求?
user 數據庫用戶名(用于連接數據庫) 所有版本?
passWord 用戶密碼(用于連接數據庫) 所有版本?
useUnicode 是否使用Unicode字符集,如果參數characterEncoding設置為gb2312或gbk,本參數值必須設置為true false 1.1g?
characterEncoding 當useUnicode設置為true時,指定字符編碼。比如可設置為gb2312或gbk false 1.1g?
autoReconnect 當數據庫連接異常中斷時,是否自動重新連接? false 1.1?
autoReconnectForPools 是否使用針對數據庫連接池的重連策略 false 3.1.3?
failOverReadOnly 自動重連成功后,連接是否設置為只讀? true 3.0.12?
maxReconnects autoReconnect設置為true時,重試連接的次數 3 1.1?
initialTimeout autoReconnect設置為true時,兩次重連之間的時間間隔,單位:秒 2 1.1?
connectTimeout 和數據庫服務器建立socket連接時的超時,單位:毫秒。 0表示永不超時,適用于JDK 1.4及更高版本 0 3.0.1?
socketTimeout socket操作(讀寫)超時,單位:毫秒。 0表示永不超時 0 3.0.1?

對應中文環境,通常mysql連接URL可以設置為:?

jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false

在使用數據庫連接池的情況下,最好設置如下兩個參數:?

autoReconnect=true&failOverReadOnly=false

需要注意的是,在xml配置文件中,url中的&符號需要轉義成&。比如在tomcat的server.xml中配置數據庫連接池時,mysql jdbc url樣例如下:?

jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享