MySql 鏈結url引數的設定

2021-07-31 01:53:34 字數 2573 閱讀 7062

5.7.17版本伺服器預設是true

如果不使用ssl連線就要在url中設定usessl=false

例如:url = "jdbc:mysql://localhost:3306/test?usessl=false

下面一段內容引用自

預設使用preparedstatement是不能執行預編譯的,這需要在url中給出useserverprepstmts=true引數(mysql server 4.1之前的版本是不支援預編譯的,而connector/j在5.0.5以後的版本,預設是沒有開啟預編譯功能的)。

例如:jdbc:mysql://localhost:3306/test?useserverprepstmts=true

當使用不同的preparedstatement物件來執行相同的sql語句時,還是會出現編譯兩次的現象,這是因為驅動沒有快取編譯後的函式key,導致二次編譯。如果希望快取編譯後函式的key,那麼就要設定cacheprepstmts引數為true。例如:

jdbc:mysql://localhost:3306/test?useserverprepstmts=true&cacheprepstmts=true

以下內容引用自《

關於mysql鏈結url引數的設定

jdbc.driverclassname=com.mysql.jdbc.driver

jdbc.url=jdbc:mysql://localhost:3306/database?useunicode=true&characterencoding=utf8&autoreconnect=true&rewritebatchedstatements=true

jdbc.username=root

jdbc.password=password

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

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

怎麼開啟呢?在拼裝mysql鏈結的url時,為其加上allowmultiqueries引數,設定為true,如下:

jdbc.jdbcurl=jdbc:mysql:

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 

關於MySql鏈結url引數的設定

mysql jdbc url格式如下 jdbc mysql host port host port database 引數名1 引數值1 引數名2 引數值2 常用的幾個較為重要的引數 引數名稱 引數說明 預設值 最低版本要求 user 資料庫使用者名稱 用於連線資料庫 所有版本 password 使...

關於MySql鏈結url引數的設定

引數名稱 引數說明 預設值最低版本要求 user 資料庫使用者名稱 用於連線資料庫 所有版本 password 使用者密碼 用於連線資料庫 所有版本 useunicode 是否使用unicode字符集,如果引數characterencoding設定為gb2312或gbk,本引數值必須設定為true ...

MySql 鏈結url 引數詳解

mysql jdbc url格式如下 jdbc mysql host port host port database 引數名1 引數值1 引數名2 引數值2 常用的幾個較為重要的引數 引數名稱 引數說明 預設值 最低版本要求 user 資料庫使用者名稱 用於連線資料庫 所有版本 password 使...