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語(yǔ)句"use database"
容災(zāi)主機(jī)只支持自動(dòng)提交模式,因?yàn)槭聞?wù)是無(wú)法保證的
并且只能進(jìn)行只讀查詢
配置連接屬性的幾種方法:
1.java.sql.DataSource.setXXX()
2.DriverManager.getConnection(Properties)傳進(jìn)去
3.DriverManager.getConnection(URL),或java.sql.DataSource.setURL()
可以是以下屬性:
user,passwod ,passwordCharacterEncoding
connectTimeout=0? 毫秒? interactiveClient=false? 閑置時(shí)間取代等待時(shí)間
allowMultiQueries =false ,語(yǔ)句中不能有分號(hào),對(duì)批處理無(wú)影響
defaultFetchSize =0
useUnicode 默認(rèn)true
characterEncoding 默認(rèn)自動(dòng)檢測(cè)
characterSetResults
continueBatchOnError =true
emptyStringsConvertToZero =true ,空字符串會(huì)變成 ‘0’
maxRows =-1 返回的行數(shù)無(wú)限制
tinyInt1isBit =true, transformedBitIsBoolean =false
useTimezone,在客戶端和服務(wù)器間自動(dòng)轉(zhuǎn)換時(shí)區(qū),默認(rèn)false
zeroDateTimeBehavior=exception, 日期全0認(rèn)為是異常,可選"exception", "round" and "convertToNull".
通過(guò)命名管道會(huì)比tcp/ip方式快30%-50%,不過(guò)windows下會(huì)更差
Connection.isClosed()方法只會(huì)檢測(cè)是否調(diào)用過(guò)close()方法
想真正檢測(cè)可以運(yùn)行個(gè)sql,拋異常就是關(guān)閉了
外鍵只能在InnoDB上使用
盡量不要用Statement.cancel()
MySQL不支持游標(biāo)
character_set_server系統(tǒng)變量,設(shè)置server的編碼
在客戶端設(shè)置編碼時(shí),要用java風(fēng)格的,UTF-8,GBK,
在服務(wù)器設(shè)置編碼時(shí),要用mysql風(fēng)格的,utf8,gbk
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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