文件首頁
MySQL Connector/J 開發人員指南
相關文件 下載本手冊
PDF (美式信紙) - 1.2MB
PDF (A4) - 1.2MB


6.3.2 連線

  • connectionAttributes

    除了標準 MySQL 定義的 "key:value" 配對之外,以逗號分隔的使用者定義 "key:value" 配對清單,要傳遞至 MySQL Server 以在 'PERFORMANCE_SCHEMA' 資料表 'session_account_connect_attrs' 和 'session_connect_attrs' 中顯示為連線屬性。範例用法:"connectionAttributes=key1:value1,key2:value2" 此功能僅適用於 MySQL Server 5.6 或更新版本。較舊版本的 MySQL Server 不支援連線屬性,導致此組態選項遭到忽略。設定 "connectionAttributes=none" 將會導致在連線建立/初始化速度至關重要的情況下,繞過連線屬性處理。

    自版本起 5.1.25
  • connectionLifecycleInterceptors

    以逗號分隔的類別清單,這些類別實作 'com.mysql.cj.jdbc.interceptors.ConnectionLifecycleInterceptor',應該會收到連線生命週期事件 (建立、銷毀、提交、回滾、設定目前資料庫和變更自動提交模式) 的通知,並可能變更這些命令的執行。 'ConnectionLifecycleInterceptors' 是可堆疊的,可以透過組態屬性指定多個攔截器作為逗號分隔的清單,攔截器會從左到右依序執行。

    自版本起 5.1.4
  • useConfigs

    載入逗號分隔的組態屬性清單,以指定特定案例的選項組合。這些屬性會在剖析 URL 或套用使用者指定的屬性之前載入。允許的值為 "3-0-Compat"、"clusterBase"、"coldFusion"、"fullDebug"、"maxPerformance"、"maxPerformance-8-0" 和 "solarisMaxPerformance",它們對應於 Connector/J jar 檔案內 "com/mysql/cj/configurations" 底下提供的屬性檔案。

    自版本起 3.1.5
  • clientInfoProvider

    實作 'com.mysql.cj.jdbc.ClientInfoProvider' 介面的類別名稱,以支援 JDBC-4.0 的 'Connection.get/setClientInfo()' 方法。

    預設值 com.mysql.cj.jdbc.CommentClientInfoProvider
    自版本起 5.1.0
  • createDatabaseIfNotExist

    如果 URL 中指定的資料庫尚不存在,則建立該資料庫。假設已設定的使用者擁有建立資料庫的權限。

    預設值 false
    自版本起 3.1.9
  • databaseTerm

    MySQL 使用術語「結構描述」作為術語「資料庫」的同義詞,而 Connector/J 歷來採用 JDBC 術語「目錄」作為「資料庫」的同義詞。此屬性設定 Connector/J 在應用程式中將哪個 JDBC 術語「目錄」和「結構描述」用於指稱資料庫。此屬性會採用兩個值 "CATALOG" 或 "SCHEMA" 的其中一個,並使用它來判斷 (1) 可以使用哪些 Connection 方法來設定/取得目前資料庫 (例如 'setCatalog()' 或 'setSchema()'?),(2) 可以在各種 'DatabaseMetaData' 方法中使用哪些引數來篩選結果 (例如,'getColumns()' 的目錄或 'schemaPattern' 引數?),以及 (3) 'DatabaseMetaData' 方法傳回的結果集中哪些欄位包含資料庫識別資訊 (亦即,'getTables()' 傳回的結果集中的 'TABLE_CAT' 或 'TABLE_SCHEM' 欄位?)。

    如果 "databaseTerm=CATALOG",則會忽略搜尋的 'schemaPattern',並且結構描述方法的呼叫 (例如 'setSchema()' 或 get 'Schema()') 會變成無操作,反之亦然。

    預設值 CATALOG
    自版本起 8.0.17
  • detectCustomCollations

    驅動程式是否應偵測伺服器上安裝的自訂字元集/定序?如果此選項設定為 "true",則驅動程式會在每次建立連線時,從伺服器取得實際的字元集/定序。這可能會大幅降低連線初始化速度。

    預設值 false
    自版本起 5.1.29
  • disconnectOnExpiredPasswords

    如果 'disconnectOnExpiredPasswords' 設定為 "false" 且密碼已過期,則伺服器會進入沙箱模式,並針對所有不需要設定新密碼的命令傳送 'ERR(08001, ER_MUST_CHANGE_PASSWORD)',直到設定新密碼為止。

    預設值 true
    自版本起 5.1.23
  • interactiveClient

    設定 'CLIENT_INTERACTIVE' 旗標,這會告知 MySQL 根據 'interactive_timeout' 而不是 'wait_timeout' 設定連線逾時。

    預設值 false
    自版本起 3.1.0
  • passwordCharacterEncoding

    指示伺服器在驗證階段期間,針對指定的 Java 編碼使用預設字元集。如果未設定此屬性,則 Connector/J 會回復為屬性 'connectionCollation' 中指定的定序名稱,或是屬性 'characterEncoding' 中指定的 Java 編碼,依優先順序排列。如果未設定任何屬性,則會使用字元集 utf8mb4 的預設定序。

    自版本起 5.1.7
  • propertiesTransform

    'com.mysql.cj.conf.ConnectionPropertiesTransform' 的實作,驅動程式將使用它來修改傳遞至驅動程式的連線字串屬性,然後嘗試連線。

    自版本起 3.1.4
  • rollbackOnPooledClose

    當集區中的邏輯連線關閉時,驅動程式是否應發出 'rollback()'?

    預設值 true
    自版本起 3.0.15
  • useAffectedRows

    連線至伺服器時,不要設定 'CLIENT_FOUND_ROWS' 旗標。請注意,這不符合 JDBC 規範,且會中斷大多數依賴「找到」的資料列與 DML 陳述式的「受影響的資料列」的應用程式,但確實會導致伺服器傳回 "INSERT ... ON DUPLICATE KEY UPDATE" 陳述式的正確更新計數。

    預設值 false
    自版本起 5.1.7