在使用MySql 時, 數(shù)據(jù)庫中的字段類型是timestamp的,默認為0000-00-00, 會發(fā)生異常:java.sql.SQLException: Value '0000-00-00 ' can not be represented as java.sql.Timestamp
解決辦法:
給jdbc url加上 zeroDateTimeBehavior參數(shù):
datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
zeroDateTimeBehavior=round是為了指定MySql中的DateTime字段默認值查詢時的處理方式;默認是拋出異常,
對于值為0000-00-00 00:00:00(默認值)的紀錄,如下兩種配置,會返回不同的結(jié)果:
zeroDateTimeBehavior=round 0001-01-01 00:00:00.0
zeroDateTimeBehavior=convertToNull null
二、url設(shè)置
MySQL Connector/J中實現(xiàn)了java.sql.Driver的類名是“com.mysql.jdbc.Driver”。“org.gjt.mm.mysql.Driver”類名任是可用的,以保持與MM.MySQL的向后兼容性。注冊驅(qū)動程序,或配置軟件以使用MySQL Connector/J時,應(yīng)使用該類名。
用于MySQL Connector/J的JDBC URL格式如下,方括號“[, ]”的項為可選項:
jdbc:mysql://[host][,failoverhost...][:port]/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
如果未指定主機名,默認為“127.0.0.1”。如果未指定端口,默認為“3306”,它是MySQL服務(wù)器的默認端口號。
jdbc:mysql://[host:port],[host:port].../[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
如果未指定數(shù)據(jù)庫,將使用無“當前”數(shù)據(jù)庫進行連接。在這種情況下,需要在連接實例上調(diào)用“setCatalog()”方法,或在SQL中使用數(shù)據(jù)庫名指定完整的表名(即“SELECT dbname.tablename.colname FROM dbname.tablename...”)。不指定連接時使用的數(shù)據(jù)庫,該選項通常僅在創(chuàng)建用于處理多個數(shù)據(jù)庫的工具時才有用,例如GUI數(shù)據(jù)庫管理器。
MySQL Connector/J支持故障切換功能。這樣,就允許驅(qū)動程序切換至“從”主機上,并仍能執(zhí)行只讀查詢。僅當連接處于autoCommit(true)狀態(tài)時,才會出現(xiàn)故障切換,這是因為當事務(wù)正在進行時,無法可靠地保證故障切換。在事務(wù)/連接結(jié)束后,大多數(shù)應(yīng)用服務(wù)器和連接池均會將autoCommit設(shè)置為“真”。
故障切換功能具有下述行為方式:
如果URL屬性“autoReconnect”為“假”:故障切換僅會在連接初始化過程中出現(xiàn),當驅(qū)動程序判斷第1臺主機再次可用時,將返回。
如果URL屬性“autoReconnect”為“真”:當驅(qū)動程序判斷連接失敗時(在任意查詢之前),將出現(xiàn)故障切換,而且當驅(qū)動程序判斷第1臺主機再次可用時(發(fā)出queriesBeforeRetryMaster查詢之后),將返回第1臺主機。
在任何一種情況下,當你連接到經(jīng)過故障切換的服務(wù)器時,會將連接設(shè)置為只讀狀態(tài),因此,對于會更改數(shù)據(jù)的查詢來說,將拋出異常(MySQL服務(wù)器不會處理該查詢)。
配置屬性定義了Connector/J與MySQL服務(wù)器進行連接的方式。除非作了其他說明,否則可以為DataSource對象或Connection對象設(shè)置屬性。
可采用下述方式的一種設(shè)置Configuration(配置)屬性:
· 在java.sql.DataSource的MySQL實施實例上使用set*()方法(它是使用java.sql.DataSource實施實例時的首選方法):
o com.mysql.jdbc.jdbc2.optional.MysqlDataSource
o com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
· 作為傳遞給DriverManager.getConnection()或Driver.connect()的java.util.Properties實例中的 鍵/值對。
· 作為URL中的JDBC URL參數(shù),以傳遞給java.sql.DriverManager.getConnection()、java.sql.Driver.connect()、或javax.sql.DataSource的setURL()方法的MySQL實施實例。
注釋:
如果你用來配置JDBC URL的方法是基于XML的,需要使用XML字符“&”來隔開配置參數(shù),“&”是XML的保留字符。
在下面的表各中,列出了這些屬性:
表26.1. 連接屬性
屬性名 |
定義 |
要求? |
默認值 |
版本 |
Connection/Authentication(連接/鑒定) |
||||
user |
連接的用戶 |
No |
|
全部 |
password |
連接時使用的密碼。 |
No |
|
全部 |
socketFactory |
驅(qū)動程序用于創(chuàng)建與服務(wù)器套接字連接的類的名稱。該類必須實現(xiàn)了接口“com.mysql.jdbc.SocketFactory”,并有公共無參量構(gòu)造函數(shù)。 |
No |
com.mysql.jdbc.StandardSocketFactory |
3.0.3 |
connectTimeout |
套接字連接的超時(單位為毫秒),0表示無超時。僅對JDK-1.4或更新版本有效。默認值為“0”。 |
No |
0 |
3.0.1 |
socketTimeout |
網(wǎng)絡(luò)套接字連接的超時(默認值0表示無超時)。 |
No |
0 |
3.0.1 |
useConfigs |
在解析URL屬性或應(yīng)用用戶指定的屬性之前,加載由逗號“,”分隔的配置屬性列表。在文檔的“配置”部分中解釋了這些配置。 |
No |
|
3.1.5 |
interactiveClient |
設(shè)置CLIENT_INTERACTIVE標志,根據(jù)INTERACTIVE_TIMEOUT而不是WAIT_TIMEOUT向MySQL通報超時連接。 |
No |
false |
3.1.0 |
propertiesTransform |
com.mysql.jdbc.ConnectionPropertiesTransform的1個實施實例,在嘗試連接之前,驅(qū)動程序?qū)⑹褂盟鼇砀膫鬟f給驅(qū)動的URL屬性。 |
No |
|
3.1.4 |
useCompression |
與服務(wù)器進行通信時采用zlib壓縮(真/假)? 默認值為“假”。 |
No |
false |
3.0.17 |
High Availability and Clustering(高可用性和簇集) |
||||
autoReconnect |
驅(qū)動程序是否應(yīng)嘗試再次建立失效的和/或死連接? 如果允許,對于在失效或死連接上發(fā)出的查詢(屬于當前事務(wù)),驅(qū)動程序?qū)伋霎惓#谛率聞?wù)的連接上發(fā)出下一個查詢時,將嘗試再連接。不推薦使用該特性,這是因為,當應(yīng)用程序不能恰當處理SQLExceptions時,它會造成與會話狀態(tài)和數(shù)據(jù)一致性有關(guān)的副作用,設(shè)計它的目的僅用于下述情況,即,當你無法配置應(yīng)用程序來恰當處理因死連接和/或無效連接導(dǎo)致的SQLExceptions時。作為可選方式,可將MySQL服務(wù)器變量“wait_timeout”設(shè)置為較高的值,而不是默認的8小時。 |
No |
false |
1.1 |
autoReconnectForPools |
使用適合于連接池的再連接策略(默認值為“假”)。 |
No |
false |
3.1.3 |
failOverReadOnly |
在autoReconnect模式下出現(xiàn)故障切換時,是否應(yīng)將連接設(shè)置為“只讀”? |
No |
true |
3.0.12 |
reconnectAtTxEnd |
如果將autoReconnect設(shè)置為“真”,在每次事務(wù)結(jié)束后驅(qū)動程序是否應(yīng)嘗試再連接? |
No |
false |
3.0.10 |
roundRobinLoadBalance |
啟用了autoReconnect而且failoverReadonly為“假”時,是否應(yīng)按照循環(huán)方式挑選要連接的主機? |
No |
false |
3.1.2 |
queriesBeforeRetryMaster |
出現(xiàn)故障切換(使用多主機故障切換)并返回主機之前發(fā)出的查詢數(shù)。無論首先滿足了哪個條件,“queriesBeforeRetryMaster”或“secondsBeforeRetryMaster”,均會再次與主機進行連接。默認值為“50”。 |
No |
50 |
3.0.2 |
secondsBeforeRetryMaster |
出現(xiàn)故障切換后,在嘗試再次連接到主服務(wù)器之前,驅(qū)動程序應(yīng)等待的時間? 無論首先滿足了哪個條件,“queriesBeforeRetryMaster”或“secondsBeforeRetryMaster”,均會再次與主機進行連接。單位為秒,默認值為30。 |
No |
30 |
3.0.2 |
enableDeprecatedAutoreconnect |
自3.2版開始,自動再連接功能受到冷落,在3.3版中將刪除該功能。將該屬性設(shè)置為“真”可禁止檢查配置的特性。 |
No |
false |
3.2.1 |
Security(安全) |
||||
allowMultiQueries |
在一條語句中,允許使用“;”來分隔多條查詢(真/假,默認值為“假”)。 |
No |
false |
3.1.1 |
useSSL |
與服務(wù)器進行通信時使用SSL(真/假),默認值為“假”。 |
No |
false |
3.0.2 |
requireSSL |
要求SSL連接,useSSL=true? 默認值為“假”。 |
No |
false |
3.1.0 |
allowUrlInLocalInfile |
驅(qū)動程序在是“LOAD DATA LOCAL INFILE”語句中否允許URL? |
No |
false |
3.1.4 |
paranoid |
采取措施,防止在錯誤信息中泄漏敏感信息,并可可能時清除保存敏感數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)? 默認值為“假”。 |
No |
false |
3.0.1 |
Performance Extensions(性能擴展) |
||||
metadataCacheSize |
如果將cacheResultSetMetaData設(shè)置為“真”,對cacheResultSetMetadata的查詢次數(shù)(默認值為50)。 |
No |
50 |
3.1.1 |
prepStmtCacheSize |
如果允許預(yù)處理語句緩沖功能,應(yīng)緩沖處理多少條預(yù)處理語句? |
No |
25 |
3.0.10 |
prepStmtCacheSqlLimit |
如果允許預(yù)處理語句緩沖功能,驅(qū)動程序?qū)?zhí)行解析緩沖處理的最大SQL是什么? |
No |
256 |
3.0.10 |
maintainTimeStats |
驅(qū)動程序是否應(yīng)維持各種內(nèi)部定時器,以允許空閑時間計算,以及與服務(wù)器的連接失敗時允許提供更詳細的錯誤消息? 將該屬性設(shè)置為“假”,對于每次查詢,至少能減少兩次對System.getCurrentTimeMillis()的調(diào)用。 |
No |
true |
3.1.9 |
blobSendChunkSize |
組塊,當通過ServerPreparedStatements發(fā)送BLOB/CLOB時使用。 |
No |
1048576 |
3.1.9 |
cacheCallableStmts |
驅(qū)動程序是否應(yīng)對CallableStatements的解析過程執(zhí)行緩沖處理。 |
No |
false |
3.1.2 |
cachePrepStmts |
驅(qū)動程序是否應(yīng)對客戶端預(yù)處理語句的PreparedStatements的解析過程執(zhí)行緩沖處理,是否應(yīng)檢查服務(wù)器端預(yù)處理語句的適用性以及服務(wù)器端預(yù)處理語句本身? |
No |
false |
3.0.10 |
cacheResultSetMetadata |
驅(qū)動程序是否應(yīng)對用于Statements和PreparedStatements的ResultSetMetaData執(zhí)行緩沖處理? 要求 JDK-1.4+,真/假,默認為“假”。 |
No |
false |
3.1.1 |
cacheServerConfiguration |
驅(qū)動程序是否應(yīng)根據(jù)每條URL對“HOW VARIABLES”和“SHOW COLLATION”的結(jié)果執(zhí)行緩沖處理? |
No |
false |
3.1.5 |
dontTrackOpenResources |
JDBC規(guī)范要求驅(qū)動程序自動跟蹤和關(guān)閉資源,但是,如果你的應(yīng)用程序不能明確調(diào)用作用在語句或結(jié)果集上的close(),可能會導(dǎo)致內(nèi)存泄漏。將該屬性設(shè)置為“真”,可放寬該限制,對于某些應(yīng)用程序,會提供更高的內(nèi)存效率。 |
No |
false |
3.1.7 |
dynamicCalendars |
需要時,驅(qū)動程序是否應(yīng)檢索默認日歷,或根據(jù)連接/會話對其進行緩沖處理? |
No |
false |
3.1.5 |
elideSetAutoCommits |
如果使用MySQL-4.1或更高版本,當服務(wù)器的狀態(tài)與Connection.setAutoCommit(boolean)請求的狀態(tài)不匹配時,驅(qū)動程序是否僅應(yīng)發(fā)出“set autocommit=n”查詢? |
No |
false |
3.1.3 |
holdResultsOpenOverStatementClose |
驅(qū)動程序是否應(yīng)按照JDBC規(guī)范的要求關(guān)閉Statement.close()上的結(jié)果集? |
No |
false |
3.1.7 |
locatorFetchBufferSize |
如果將“emulateLocators”配置為“真”,當獲取關(guān)于getBinaryInputStream的BLOB數(shù)據(jù)時,緩沖區(qū)的大小應(yīng)是多少? |
No |
1048576 |
3.2.1 |
useFastIntParsing |
是否使用內(nèi)部“String->Integer”轉(zhuǎn)換子程序來避免創(chuàng)建過多對象? |
No |
true |
3.1.4 |
useLocalSessionState |
驅(qū)動程序是否應(yīng)引用autocommit的內(nèi)部值,以及由Connection.setAutoCommit()和Connection.setTransactionIsolation()設(shè)置的事務(wù)隔離,而不是查詢數(shù)據(jù)庫? |
No |
false |
3.1.7 |
useNewIO |
驅(qū)動程序是否應(yīng)將java.nio.* interfaces用于網(wǎng)絡(luò)通信(真/假),默認為“假”。 |
No |
false |
3.1.0 |
useReadAheadInput |
從服務(wù)器讀取數(shù)據(jù)時,是否使用較新的、優(yōu)化的非成組緩沖輸入流? |
No |
true |
3.1.5 |
Debuging/Profiling(調(diào)試/仿形) |
||||
logger |
實現(xiàn)了com.mysql.jdbc.log.Log的類的名稱,com.mysql.jdbc.log.Log用于記錄消息(默認為“com.mysql.jdbc.log.StandardLogger”,它會將日志記錄到STDERR)。 |
No |
com.mysql.jdbc.log.StandardLogger |
3.1.1 |
profileSQL |
跟蹤查詢以及它們對已配制記錄器的執(zhí)行/獲取次數(shù)(真/假),默認為“假”。 |
No |
false |
3.1.0 |
reportMetricsIntervalMillis |
如果允許“gatherPerfMetrics”,記錄它們的頻率是多少(單位毫秒)? |
No |
30000 |
3.1.2 |
maxQuerySizeToLog |
調(diào)試或仿形時,控制將記錄的查詢的最大長度/大小。 |
No |
2048 |
3.1.3 |
packetDebugBufferSize |
當“enablePacketDebug”為“真”時,需要保留的最大信息包數(shù)目。 |
No |
20 |
3.1.3 |
slowQueryThresholdMillis |
如果允許“logSlowQueries”,在將查詢記錄為“慢”之前的查詢時間是多少(毫秒)? |
No |
2000 |
3.1.2 |
useUsageAdvisor |
驅(qū)動程序是否應(yīng)發(fā)出“使用情況”警告,就DBC和MySQL Connector/J的恰當和高效使用給出建議(真/假,默認為“假”)? |
No |
false |
3.1.1 |
autoGenerateTestcaseScript |
驅(qū)動程序是否應(yīng)將正在執(zhí)行的SQL(包括服務(wù)器端預(yù)處理語句)轉(zhuǎn)儲到STDERR? |
No |
false |
3.1.9 |
dumpQueriesOnException |
驅(qū)動程序是否應(yīng)將發(fā)送至服務(wù)器的查詢內(nèi)容轉(zhuǎn)儲到SQLExceptions中? |
No |
false |
3.1.3 |
enablePacketDebug |
允許時,將保留“packetDebugBufferSize”信息包的環(huán)形緩沖區(qū),并當在驅(qū)動程序代碼的關(guān)鍵區(qū)域拋出異常時進行轉(zhuǎn)儲。 |
No |
false |
3.1.3 |
explainSlowQueries |
如果允許了“logSlowQueries”,驅(qū)動程序是否應(yīng)在服務(wù)器上自動發(fā)出“EXPLAIN”,并以WARN級別將結(jié)果發(fā)送給配置好的日志? |
No |
false |
3.1.2 |
logSlowQueries |
是否要記錄時間長于“slowQueryThresholdMillis”的查詢? |
No |
false |
3.1.2 |
traceProtocol |
是否應(yīng)記錄跟蹤級網(wǎng)絡(luò)協(xié)議? |
No |
false |
3.1.2 |
Miscellaneous(其他) |
||||
useUnicode |
處理字符串時,驅(qū)動程序是否應(yīng)使用Unicode字符編碼? 僅應(yīng)在驅(qū)動程序無法確定字符集映射,或你正在強制驅(qū)動程序使用MySQL不是固有支持的字符集時(如UTF-8)才應(yīng)使用。真/假,默認為“真”。 |
No |
false |
1.1g |
characterEncoding |
如果“useUnicode”被設(shè)置為“真”,處理字符串時,驅(qū)動程序應(yīng)使用什么字符編碼? 默認為“autodetect”。 |
No |
|
1.1g |
characterSetResults |
字符集,用于通知服務(wù)器以何種字符集返回結(jié)果。 |
No |
|
3.0.13 |
connectionCollation |
如果設(shè)置了它,將通知服務(wù)器通過“set collation_connection”使用該校對。 |
No |
|
3.0.13 |
sessionVariables |
以逗號隔開的“名稱/值”對列表,當驅(qū)動程序建立了連接后,以“SET SESSION ...”的方式將其發(fā)送給服務(wù)器。 |
No |
|
3.1.8 |
allowNanAndInf |
驅(qū)動程序是否應(yīng)在PreparedStatement.setDouble()中允許NaN或+/- INF值? |
No |
false |
3.1.5 |
autoDeserialize |
驅(qū)動程序是否應(yīng)自動檢測并串并轉(zhuǎn)換保存在BLOB字段中的對象? |
No |
false |
3.1.5 |
capitalizeTypeNames |
是否將DatabaseMetaData中的類型名轉(zhuǎn)換為大寫? 通常僅在使用WebObjects時有用,真/假。默認為“假”。 |
No |
false |
2.0.7 |
clobberStreamingResults |
這會使“流式”結(jié)果集被自動關(guān)閉,如果在所有數(shù)據(jù)尚未從服務(wù)器中讀取完之前,執(zhí)行了另一查詢,正在從服務(wù)器流出的任何未完成數(shù)據(jù)均將丟失。 |
No |
false |
3.0.9 |
continueBatchOnError |
如果一條語句失敗,驅(qū)動程序是否應(yīng)繼續(xù)處理批命令? JDBC規(guī)范允許任何一種方式(默認為“真”)。 |
No |
true |
3.0.3 |
createDatabaseIfNotExist |
如果不存在,創(chuàng)建URL中給定的數(shù)據(jù)庫。假定用戶具有創(chuàng)建數(shù)據(jù)庫的權(quán)限。 |
No |
false |
3.1.9 |
emptyStringsConvertToZero |
驅(qū)動程序是否應(yīng)允許從空字符串字段到數(shù)值“0”的轉(zhuǎn)換? |
No |
true |
3.1.8 |
emulateLocators |
N/A |
No |
false |
3.1.0 |
emulateUnsupportedPstmts |
驅(qū)動程序是否應(yīng)檢測不被服務(wù)器支持的預(yù)處理語句,并用客戶端模擬版替換它們? |
No |
true |
3.1.7 |
ignoreNonTxTables |
是否忽略關(guān)于回退的非事務(wù)表? 默認值為“假”。 |
No |
false |
3.0.9 |
jdbcCompliantTruncation |
連接到支持告警的服務(wù)器時(MySQL 4.1.0和更高版本),當按照JDBC的要求截短數(shù)據(jù)時,驅(qū)動程序是否應(yīng)拋出java.sql.DataTruncation異常? |
No |
true |
3.1.2 |
maxRows |
返回的最大行數(shù)(0,默認值表示返回所有行)。 |
No |
-1 |
all versions |
noDatetimeStringSync |
不保證ResultSet.getDatetimeType().toString().equals(ResultSet.getString()。 |
No |
false |
3.1.7 |
nullCatalogMeansCurrent |
當DatabaseMetadataMethods請求“目錄”參數(shù)時,值“Null”是否意味著使用當前目錄? 它不兼容JDBC,但符合驅(qū)動程序早期版本的傳統(tǒng)行為。 |
No |
true |
3.1.8 |
nullNamePatternMatchesAll |
接受*pattern參數(shù)的DatabaseMetaData方法是否應(yīng)將null按對待“%”的相同方式處理(不兼容JDBC,但驅(qū)動程序的早期版本能接受與規(guī)范的這類偏離)。 |
No |
true |
3.1.8 |
pedantic |
嚴格遵守JDBC規(guī)范。 |
No |
false |
3.0.0 |
relaxAutoCommit |
如果驅(qū)動程序所連接的MySQL服務(wù)器的版本不支持事務(wù),仍允許調(diào)用commit()、rollback()和setAutoCommit()?真/假,默認為“假”。 |
No |
false |
2.0.13 |
retainStatementAfterResultSetClose |
調(diào)用ResultSet.close()后,驅(qū)動程序是否應(yīng)將語句引用保存在結(jié)果集中? 在JDBC-4.0后,與JDBC不兼容。 |
No |
false |
3.1.11 |
rollbackOnPooledClose |
當連接池中的邏輯連接關(guān)閉時,驅(qū)動程序是否應(yīng)發(fā)出rollback()? |
No |
true |
3.0.15 |
runningCTS13 |
允許在Sun與JDBC兼容的testsuite 1.3版中處理缺陷。 |
No |
false |
3.1.7 |
serverTimezone |
覆蓋時區(qū)的檢測/映射。當服務(wù)器的時區(qū)為映射到Java時區(qū)時使用。 |
No |
|
3.0.2 |
strictFloatingPoint |
僅在兼容性測試的早期版本中使用。 |
No |
false |
3.0.0 |
strictUpdates |
驅(qū)動程序是否應(yīng)對可更新結(jié)果集進行嚴格檢查(選擇所有的主鍵)?真/假,默認為“真”。 |
No |
true |
3.0.4 |
tinyInt1isBit |
驅(qū)動程序是否應(yīng)將數(shù)據(jù)類型TINYINT(1)當作BIT類型對待?創(chuàng)建表時,服務(wù)器會執(zhí)行BIT -> TINYINT(1)操作。 |
No |
true |
3.0.16 |
transformedBitIsBoolean |
如果驅(qū)動程序?qū)INYINT(1)轉(zhuǎn)換為不同的類型,為了與MySQL-5.0兼容,驅(qū)動程序是否應(yīng)使用BOOLEAN取代BIT?這是因為MySQL-5.0具有BIT類型。 |
No |
false |
3.1.9 |
ultraDevHack |
由于UltraDev已損壞,并為所有語句發(fā)出了prepareCall(),需要時,是否要為prepareCall()創(chuàng)建PreparedStatements? 真/假,默認值為“假”。 |
No |
false |
2.0.3 |
useHostsInPrivileges |
在DatabaseMetaData.getColumn/TablePrivileges()中為用戶添加“@hostname”。真/假,默認為“真”。 |
No |
true |
3.0.2 |
useOldUTF8Behavior |
與4.0和更早版本的服務(wù)器進行通信時,使用UTF-8。 |
No |
false |
3.1.6 |
useOnlyServerErrorMessages |
對服務(wù)器返回的錯誤消息,不事先設(shè)定“標準的”SQLState錯誤消息。 |
No |
true |
3.0.15 |
useServerPrepStmts |
如果服務(wù)器支持,是否使用服務(wù)器端預(yù)處理語句? 默認值為“真”。 |
No |
true |
3.1.0 |
useSqlStateCodes |
使用SQL標準狀態(tài)碼取代“傳統(tǒng)的”X/Open/SQL狀態(tài)碼,真/假,默認為“真”。 |
No |
true |
3.1.3 |
useStreamLengthsInPrepStmts |
是否采用PreparedStatement/ResultSet.setXXXStream()方法調(diào)用中的流長度參數(shù)?真/假,默認為“真”。 |
No |
true |
3.0.2 |
useTimezone |
是否在客戶端和服務(wù)器時區(qū)間轉(zhuǎn)換時間/日期類型(真/假,默認為“假”)? |
No |
false |
3.0.2 |
useUnbufferedInput |
不使用BufferedInputStream來從服務(wù)器讀取數(shù)據(jù)。 |
No |
true |
3.0.11 |
yearIsDateType |
JDBC驅(qū)動程序是否應(yīng)將MySQL類型“YEAR”當作java.sql.Date或SHORT對待? |
No |
true |
3.1.9 |
zeroDateTimeBehavior |
當驅(qū)動程序遇到全由0組成的DATETIME值時,應(yīng)出現(xiàn)什么?MySQL使用它來表示無效日期。有效值是“exception”、“round”和“convertToNull”。 |
No |
exception |
3.1.4 |
通過“socketFactory”屬性,使用NamedPipeSocketFactory,在Windows NT/2000/XP平臺上,通過命名管道,Connector/J也支持對MySQL的訪問。如果不使用namedPipePath屬性,將使用\\.\pipe\MySQL的默認值。如果使用NamedPipeSocketFactory,將忽略JDBC url中的主機名和端口號。
在URL中添加下述屬性可啟用NamedPipeSocketFactory:
socketFactory=com.mysql.jdbc.NamedPipeSocketFactory
命名管道僅能當連接到位于相同物理機器上的MySQL時才能正常工作,該機器上應(yīng)使用了JDBC驅(qū)動程序。在簡單的性能測試中,命名管道的訪問速度比標準的TCP/IP訪問塊30~50%。
使用com.mysql.jdbc.NamedPipeSocketFactory或com.mysql.jdbc.StandardSocketFactory中的示例代碼,可創(chuàng)建你自己的套接字代理