URL=jdbc:mysql://[host][:port]/[database]
其后可以添加性能參數:?[propertyName1=propertyValue1] & [propertyName2]=propertyValue2] ......
MySQL 8.0 以上版本的數據庫連接有所不同:
1、MySQL 8.0 以上版本驅動包版本 mysql-connector-java-8.0.16.jar。
2、com.mysql.jdbc.Driver 更換為 com.mysql.cj.jdbc.Driver。
現只列舉幾個重要的參數,如下表所示:
參數名稱 | 參數說明 | 缺省值 | 最低版本要求 |
---|---|---|---|
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的常用配置:
jdbc:mysql://localhost:3306/數據庫名?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
serverTimezone:時區