
# 数据库连接参数
#### 函数原型
JDBC提供了三个方法，用于创建数据库连接。
- DriverManager.getConnection(String url)。
- DriverManager.getConnection(String url, Properties info)。
- DriverManager.getConnection(String url, String user, String password)。
 
#### 连接参数
表1数据库连接参数 
| 参数       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|
| url      | MySQL JDBC驱动的数据库连接描述符。格式如下： ``` jdbc:mysql://host:port/database jdbc:mysql://host:port/database?param1=value1&param2=value2 ``` 说明： - database为需要连接的数据库名称，不可缺省，需要明确指定。  - host为数据库服务器名称或IP地址，支持IPv4格式地址。 - 由于安全原因，数据库主节点禁止数据库内部其他节点无认证接入。如果要在数据库内部访问数据库主节点，请将JDBC程序部署在数据库主节点所在机器，host使用"127.0.0.1"。否则可能会出现"FATAL: Forbid remote connection with trust method!"错误。  - 建议业务系统单独部署在数据库外部，否则可能会影响数据库运行性能。  - 缺省情况下，连接服务器为localhost。    - port为数据库服务器端口，不可缺省，需要在管理控制台开启M兼容端口。设置M兼容端口的步骤请参考[修改M兼容端口](https://support.huaweicloud.com/usermanual-gaussdb/gaussdb_01_519.html)。  - param为参数名称，即数据库连接属性。 参数可以配置在URL中，以?开始配置，以=为参数赋值，以\&作为不同参数的间隔。也可以采用Properties对象的属性方式进行配置。   - value为参数值，即数据库连接属性值。  - 连接时需配置connectTimeout和socketTimeout，如果未配置，默认为0，即不会超时。在DN与客户端出现网络故障时，客户端一直未收到DN侧ACK确认报文时，会启动超时重传机制，不断地进行重新传递。当超时时间达到系统默认的600秒后才会报超时错误，这会导致RTO时间很高。  - 建议使用JDBC标准接口建立连接时，确保URL格式的合法性，不合法的URL会导致异常，且异常中包含原始URL字符串，可能造成敏感信息泄漏。   |
| info     | 数据库连接属性。具体请参见[info参数的连接属性]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| user     | 数据库用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| password | 数据库用户的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
 #### info参数的连接属性
info参数连接的所有属性名称对大小写敏感。常用的属性如[表2]所示。
 表2info参数的连接属性 
| 属性名称                              | 属性说明                                                                                                                                                                                                                                                                  | 属性值                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| user                              | 表示创建连接的数据库用户。                                                                                                                                                                                                                                                         | 属性类型：STRING                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| password                          | 表示数据库用户的密码。                                                                                                                                                                                                                                                           | 属性类型：STRING                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| useSSL                            | 表示以SSL方式连接数据库。                                                                                                                                                                                                                                                        | 属性类型：BOOLEAN 取值范围： - true表示以SSL方式连接数据库。  - false表示不以SSL方式连接数据库。                                                                                                          |
| verifyServerCertificate           | 表示以SSL方式连接数据库时，客户端是否校验服务端证书。                                                                                                                                                                                                                                          | 属性类型：BOOLEAN 取值范围： - true表示客户端需要校验服务端证书。  - false表示客户端不校验服务端证书。   默认值：true                                                                                               |
| trustCertificateKeyStoreUrl       | 表示受信任的根证书密钥库的URL。                                                                                                                                                                                                                                                     | 属性类型：STRING                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| trustCertificateKeyStoreType      | 表示受信任的根证书的密钥存储类型。                                                                                                                                                                                                                                                     | 属性类型：STRING 默认值：JKS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| trustCertificateKeyStorePassword  | 表示受信任的根证书密钥库的密码。                                                                                                                                                                                                                                                      | 属性类型：STRING                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| clientCertificateKeyStoreUrl      | 表示客户端证书密钥库的URL。                                                                                                                                                                                                                                                       | 属性类型：STRING                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| clientCertificateKeyStoreType     | 表示客户端证书的密钥存储类型。                                                                                                                                                                                                                                                       | 属性类型：STRING 默认值：JKS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| clientCertificateKeyStorePassword | 表示客户端证书密钥库的密码。                                                                                                                                                                                                                                                        | 属性类型：STRING                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| allowPublicKeyRetrieval           | 表示是否允许客户端从服务端获取公钥。                                                                                                                                                                                                                                                    | 属性类型：BOOLEAN 取值范围： - true表示允许客户端从服务端获取公钥。  - false表示禁止客户端从服务端获取公钥。   默认值：false                                                                                               |
| rewriteBatchedStatements          | 表示是否可对批量执行的SQL重写。                                                                                                                                                                                                                                                     | 属性类型：BOOLEAN 取值范围： - true表示批量插入时，可将N条插入语句合并为一条：insert into TABLE_NAME values(values1, ..., valuesN), ..., (values1, ..., valuesN)。  - false表示批量插入时，不重写SQL语句。   默认值：false |
| allowMultiQueries                 | 表示是否可批量执行多条SQL语句。                                                                                                                                                                                                                                                     | 属性类型：BOOLEAN 取值范围： - true表示允许批量执行多条SQL语句。  - false表示禁止批量执行多条SQL语句。   默认值：false                                                                                        |
| autoReconnect                     | 表示客户端断开连接后是否会自动重连。                                                                                                                                                                                                                                                    | 属性类型：BOOLEAN 取值范围： - true表示客户端断连后，可自动重连。  - false表示客户端断连后，不会自动重连。   默认值：false                                                                                       |
| useUnicode                        | 表示是否使用Unicode字符编码。                                                                                                                                                                                                                                                    | 属性类型：BOOLEAN 取值范围： - true表示客户端可使用unicode字符编码。  - false表示不使用unicode字符编码。   默认值：false                                                                                  |
| characterEncoding                 | 表示设置字符集。 说明： 需要保持客户端字符集与服务端一致。若未设置该参数，对于8.0.25及更早驱动版本，客户端将尝试使用服务端的默认字符集；对于8.0.26及更高驱动版本，客户端将使用utf8mb4的默认排序规则。 | 属性类型：STRING                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| connectTimeout                    | 用于连接服务器操作系统的超时值。如果连接到服务器操作系统消耗的时间超过此值，则连接断开。当URL配置多IP时，表示连接单个IP的超时时间。                                                                                                                                                                                                 | 属性类型：INTEGER 属性单位：ms（毫秒） 取值范围：0 \~ 2147483647，0表示没有超时。 默认值：0                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| socketTimeout                     | 用于socket读取操作的超时值。如果从服务器读取所消耗的时间超过此值，则连接关闭。                                                                                                                                                                                                                            | 属性类型：INTEGER 属性单位：ms（毫秒） 取值范围：0 \~ 2147483647，0表示没有超时。 默认值：0                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
