文档首页
MySQL Connector/J 开发人员指南
相关文档 下载本手册
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


6.3.3 会话

  • sessionVariables

    以逗号或分号分隔的 "name=value" 对列表,在驱动程序连接时作为 "SET [SESSION] ..." 发送到服务器。

    自版本 3.1.8
  • characterEncoding

    指示服务器将会话系统变量 'character_set_client' 和 'character_set_connection' 设置为 MySQL 为指定的 Java 字符编码支持的默认字符集,并将 'collation_connection' 设置为该字符集的默认排序规则。如果未设置此属性或 'connectionCollation' 属性

    对于 Connector/J 8.0.25 及更早版本,驱动程序将尝试使用服务器的默认字符集;

    对于 Connector/J 8.0.26 及更高版本,驱动程序将使用 "utf8mb4"。

    自版本 1.1g
  • characterSetResults

    指示服务器以指定 Java 编码的默认字符集返回数据。如果未设置或设置为 "null",服务器将以其原始字符集发送数据,驱动程序将根据结果元数据对其进行解码。

    自版本 3.0.13
  • connectionCollation

    指示服务器将会话系统变量 'collation_connection' 设置为指定的排序规则名称,并将 'character_set_client' 和 'character_set_connection' 设置为相应的字符集。此属性将 'characterEncoding' 的值覆盖为该排序规则所属的默认字符集,当且仅当 'characterEncoding' 未配置或配置为与该排序规则不兼容的字符集时。这意味着 'connectionCollation' 并不总是能纠正字符集的不匹配。例如,如果 'connectionCollation' 设置为 "latin1_swedish_ci",则相应的字符集为 MySQL 的 "latin1",它将其映射到 Java 字符集 "windows-1252";因此,如果 'characterEncoding' 未设置,则将使用 "windows-1252" 作为字符集;但如果 'characterEncoding' 已设置为例如 "ISO-8859-1",则它与 "latin1_swedish_ci" 兼容,因此字符编码设置保持不变;如果客户端实际上使用的是 "windows-1252"(它与 "ISO-8859-1" 类似但不同),则某些字符会导致错误。如果未设置此属性或 'characterEncoding' 属性

    对于 Connector/J 8.0.25 及更早版本,驱动程序将尝试使用服务器的默认字符集;

    对于 Connector/J 8.0.26 及更高版本,驱动程序将使用 utf8mb4 的默认排序规则。

    自版本 3.0.13
  • customCharsetMapping

    以逗号分隔的自定义 "charset:java encoding" 对列表。

    如果 MySQL 服务器配置了自定义字符集且 "detectCustomCollations=true",Connector/J 需要知道为这些字符集表示的数据使用哪个 Java 字符编码。例如:"customCharsetMapping=charset1:UTF-8,charset2:Cp1252"。

    自版本 8.0.26
  • trackSessionState

    接收查询结果上的服务器会话状态更改。这些更改可通过 'MysqlConnection.getServerSessionStateController()' 访问。

    默认值 false
    自版本 8.0.26