5.1版本符合JDBC3.0和JDBC4.0規(guī)范
跟MySQL4.1-5.7兼容
5.1.21以后支持JDK7的JDBC4.1規(guī)范
在MySQL4.1之前,是不支持utf8的
com.mysql.jdbc.Driver是推薦的Driver,org.gjt.mm.mysql.Driver是以前的
JdbcURL格式:
jdbc:mysql://[host:3306].../[database] ?
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
沒指定database的話,建議使用Connection.setCatalog(),而不要用sql語句"use database"
容災(zāi)主機只支持自動提交模式,因為事務(wù)是無法保證的
并且只能進行只讀查詢
配置連接屬性的幾種方法:
1.java.sql.DataSource.setXXX()
2.DriverManager.getConnection(Properties)傳進去
3.DriverManager.getConnection(URL),或java.sql.DataSource.setURL()
可以是以下屬性:
user,passwod ,passwordCharacterEncoding
connectTimeout=0? 毫秒? interactiveClient=false? 閑置時間取代等待時間
allowMultiQueries =false ,語句中不能有分號,對批處理無影響
defaultFetchSize =0
useUnicode 默認(rèn)true
characterEncoding 默認(rèn)自動檢測
characterSetResults
continueBatchOnError =true
emptyStringsConvertToZero =true ,空字符串會變成 ‘0’
maxRows =-1 返回的行數(shù)無限制
tinyInt1isBit =true, transformedBitIsBoolean =false
useTimezone,在客戶端和服務(wù)器間自動轉(zhuǎn)換時區(qū),默認(rèn)false
zeroDateTimeBehavior=exception, 日期全0認(rèn)為是異常,可選"exception", "round" and "convertToNull".
通過命名管道會比tcp/ip方式快30%-50%,不過windows下會更差
Connection.isClosed()方法只會檢測是否調(diào)用過close()方法
想真正檢測可以運行個sql,拋異常就是關(guān)閉了
外鍵只能在InnoDB上使用
盡量不要用Statement.cancel()
MySQL不支持游標(biāo)
character_set_server系統(tǒng)變量,設(shè)置server的編碼
在客戶端設(shè)置編碼時,要用java風(fēng)格的,UTF-8,GBK,
在服務(wù)器設(shè)置編碼時,要用mysql風(fēng)格的,utf8,gbk
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
