Mysql JDBC Url參數說明useUnicode=true&characterEncoding=UTF-8

MySQL的 JDBC URL 格式 for  Connector/J 以下例:mysql


jdbc:mysql://[host][,failoverhost...][:port]/[database] »
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

jdbc:mysql://[host:port],[host:port].../[database] »
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

實例:
jdbc:mysql://localhost:3306/sakila?profileSQL=truesql

 

現只列舉幾個重要的參數,以下表所示:數據庫

參數名稱                    參數說明                                                                                                                         缺省值     最低版本要求
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=gbk&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=gbk
&autoReconnect=true&failOverReadOnly=falsetomcat



 

mysql sql語句別名不生效問題: useOldAliasMetadataBehavior

實例:

 

 

jdbc:mysql://localhost/openemm?useUnicode=yes&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
其中:dbc: mysql://localhost/openemm?這個表明數據庫連接地址,
useUnicode=yes&characterEncoding=UTF-8這個表明容許用戶本身設定數據庫編碼,並且設置成UTF-8
  useOldAliasMetadataBehavior=true這個表明數據庫裏面容許有別名
相關文章
相關標籤/搜索