標籤:
以前寫jdbc串連向來都是直接copy,對於串連資料庫的jar包在哪下載,對應的Driver類是哪一個,資料庫連接串怎麼找等等都沒有做過,今天從零開始整了一遍。
使用的資料庫是Mysql
一、已安裝了Mysql的情況
如果你的電腦上安裝了Mysql,那麼恭喜你你不用上網去搜了。到安裝路徑下尋找 “Connector J”檔案夾,裡面會有對應的jar包,源碼和相關文檔。
jar包找到了,接下來要找一下Driver和url在哪裡找。
在“Connector J”中的“docs”檔案夾中,有網頁版和pdf兩種說明文檔。這兩種內容是一樣的。
這裡開啟html版的
然後
好了這裡就找到了我們需要的Driver和Url。至於url中的propertyName都有什麼,後面再說。
二、電腦上沒有安裝Mysql
如果沒有安裝,也沒有必要下載一個Mysql資料庫安上,我們去官網看看。
www.mysql.com
然後
然後
然後
然後
下面是下載頁面
文檔和第一種方法中的相同,所以不介紹了。
三、url中的propertyName都有什麼
propertyName在文檔中也有介紹
但是英語看起來畢竟煩,下面轉自網上一個人的總結,轉載串連:http://blog.163.com/oyhj_nicholas/blog/static/323592520104941755831/
mysql JDBC URL格式如下:
jdbc:mysql://[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=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=false
尋找Mysql資料庫連接jar包和對應的Driver和Url