5.1版本符合JDBC3.0和JDBC4.0規范
跟MySQL4.1-5.7兼容
5.1.21以后支持JDK7的JDBC4.1規范
在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"
容災主機只支持自動提交模式,因為事務是無法保證的
并且只能進行只讀查詢
配置連接屬性的幾種方法:
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 默認true
characterEncoding 默認自動檢測
characterSetResults
continueBatchOnError =true
emptyStringsConvertToZero =true ,空字符串會變成 ‘0’
maxRows =-1 返回的行數無限制
tinyInt1isBit =true, transformedBitIsBoolean =false
useTimezone,在客戶端和服務器間自動轉換時區,默認false
zeroDateTimeBehavior=exception, 日期全0認為是異常,可選"exception", "round" and "convertToNull".
通過命名管道會比tcp/ip方式快30%-50%,不過windows下會更差
Connection.isClosed()方法只會檢測是否調用過close()方法
想真正檢測可以運行個sql,拋異常就是關閉了
外鍵只能在InnoDB上使用
盡量不要用Statement.cancel()
MySQL不支持游標
character_set_server系統變量,設置server的編碼
在客戶端設置編碼時,要用java風格的,UTF-8,GBK,
在服務器設置編碼時,要用mysql風格的,utf8,gbk
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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