public class HandshakeResponse41Packet
extends java.lang.Object
HandshakeV10Packet 数据包后,将发送该响应数据包至服务端,更多信息请参考:
Protocol::HandshakeResponse41
说明:HandshakeResponse41Packet 类是非线程安全的,不允许多个线程使用同一个实例。
| 构造器和说明 |
|---|
HandshakeResponse41Packet() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addClientConnectionAttribute(java.lang.String key,
java.lang.String value)
添加一个 Mysql 客户端属性键值对。
|
byte[] |
buildMysqlPacketBytes(long serverCapabilitiesFlags)
根据当前
HandshakeResponse41Packet 实例信息,生成对应的 Mysql "HandshakeResponse41Packet" 数据包字节数组,
"HandshakeResponse41Packet" 数据包格式定义:
Protocol::HandshakeResponse41
注意:调用该方法后,capabilitiesFlags 将会被重新赋值,默认特性将被开启,已指定开启但 Mysql 服务端不支持的特性将会被关闭。 |
java.lang.String |
getAuthPluginName()
获得 Mysql 客户端可使用的授权插件名称。
|
byte[] |
getAuthResponse()
获得 Mysql 数据库密码加密字节数组。
|
long |
getCapabilitiesFlags()
获得 Mysql 客户端可使用的特性数值。
|
int |
getClientCharacterId()
获得 Mysql 客户端字符集编码 ID,ID 对应的编码可通过数据库表 "information_schema.collations" 进行查询。
|
java.util.LinkedHashMap<java.lang.String,java.lang.String> |
getClientConnectionAttributeMap()
获得 Mysql 客户端属性键值对 Map,Key 为属性名称,Value 为属性值。
|
java.lang.String |
getDatabaseName()
获得 Mysql 数据库名称。
|
java.lang.String |
getUsername()
获得 Mysql 数据库用户名。
|
void |
setAuthPluginName(java.lang.String authPluginName)
设置 Mysql 客户端可使用的授权插件名称。
|
void |
setAuthResponse(byte[] authResponse)
设置 Mysql 数据库密码加密字节数组。
|
void |
setCapabilitiesFlags(long capabilitiesFlags)
设置 Mysql 客户端可使用的特性数值。
|
void |
setClientCharacterId(int clientCharacterId)
设置 Mysql 客户端字符集编码 ID。
|
void |
setDatabaseName(java.lang.String databaseName)
设置 Mysql 数据库名称。
|
void |
setUsername(java.lang.String username)
设置 Mysql 数据库用户名。
|
java.lang.String |
toString() |
public long getCapabilitiesFlags()
public void setCapabilitiesFlags(long capabilitiesFlags)
capabilitiesFlags - Mysql 客户端可使用的特性数值public int getClientCharacterId()
默认为:45 (utf8mb4_general_ci)
public void setClientCharacterId(int clientCharacterId)
throws java.lang.IllegalArgumentException
clientCharacterId - Mysql 客户端字符集编码 ID,值允许的范围为:[0, 255]java.lang.IllegalArgumentException - 如果 clientCharacterId 的值不在允许的范围内,将会抛出此异常public java.lang.String getUsername()
public void setUsername(java.lang.String username)
throws java.lang.IllegalArgumentException
username - Mysql 数据库用户名,不允许为 null 或空java.lang.IllegalArgumentException - 如果 username 为 null 或空,将会抛出此异常public byte[] getAuthResponse()
public void setAuthResponse(byte[] authResponse)
throws java.lang.NullPointerException
authResponse - Mysql 数据库密码加密字节数组,不允许为 nulljava.lang.NullPointerException - 如果 authResponse 为 null,将抛出此异常public java.lang.String getDatabaseName()
public void setDatabaseName(java.lang.String databaseName)
databaseName - Mysql 数据库名称,允许为 null 或空public java.lang.String getAuthPluginName()
public void setAuthPluginName(java.lang.String authPluginName)
throws java.lang.IllegalArgumentException
authPluginName - Mysql 客户端可使用的授权插件名称,不允许为 null 或空java.lang.IllegalArgumentException - 如果 authPluginName 为 null 或空,将会抛出此异常public java.util.LinkedHashMap<java.lang.String,java.lang.String> getClientConnectionAttributeMap()
public void addClientConnectionAttribute(java.lang.String key,
java.lang.String value)
throws java.lang.IllegalArgumentException
key - 属性 Key,不允许为 null 或空value - 属性 Value,不允许为 null 或空java.lang.IllegalArgumentException - 如果 key 或 value 为 null 或空,将会抛出此异常public byte[] buildMysqlPacketBytes(long serverCapabilitiesFlags)
throws java.lang.IllegalArgumentException,
java.lang.IllegalStateException
HandshakeResponse41Packet 实例信息,生成对应的 Mysql "HandshakeResponse41Packet" 数据包字节数组,
"HandshakeResponse41Packet" 数据包格式定义:
Protocol::HandshakeResponse41
注意:调用该方法后,capabilitiesFlags 将会被重新赋值,默认特性将被开启,已指定开启但 Mysql 服务端不支持的特性将会被关闭。
java.lang.IllegalArgumentException - 如果 HandshakeResponse41Packet 中关键字段信息尚未设置,将会抛出此异常java.lang.IllegalStateException - 如果指定的 Mysql 客户端特性在 Mysql 服务端未启用,将会抛出此异常public java.lang.String toString()
toString 在类中 java.lang.ObjectCopyright © 2019. All Rights Reserved.