
# 连接数据库
在创建数据库连接之后，才能使用他来执行SQL语句操作数据。
#### 函数原型
JDBC提供了三个方法，用于创建数据库连接。
- DriverManager.getConnection(String url);
- DriverManager.getConnection(String url, Properties info);
- DriverManager.getConnection(String url, String user, String password);
 
#### 参数
表1数据库连接参数 
| 参数       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|
| url      | 数据库连接描述符。格式为：jdbc:aura://aura-ep.endpoint/catalog。 说明： - catalog为lakeformation中对应catalog名称。  - aura-ep.endpoint为Aura终端节点。  - 使用JDBC连接集群时集群链接地址只支持指定jdbc连接参数，不支持增加变量参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| info     | 数据库连接属性。常用的属性如下： - AccessKeyID：String类型。表示创建连接的用户访问密钥ID。  - SecretAccessKey：String类型。表示创建连接的用户访问密钥。  - securityToken：String类型，当使用临时AK、SK访问时需要该参数。 说明： 使用临时AK、SK获取连接时，可能因为临时AK、SK失效，导致连接中断，建议仅在测试场景使用。   - workspaceId：String类型。当前环境所属workspace的ID。  - endpointName：String类型。当前使用的AuraJobV2端点名称。   |
| user     | 数据库用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| password | 数据库用户的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
#### 示例
```
//以下用例以gsjdbc4.jar为例，如果要使用gsjdbc200.jar，请替换驱动类名（将代码中的“org.postgresql”替换成“com.huawei.gauss200.jdbc”）
//以下代码将获取数据库连接操作封装为一个接口，可通过给定用户名和密码来连接数据库。
public static Connection GetConnection() {
        //驱动类。
        String driver = "org.postgresql.Driver";
        //数据库连接描述符。
        String sourceURL = "jdbc:aura://localhost:443/aurasql_default";
        Connection con = null;
        Properties properties = new Properties();
        try {
            //加载驱动。
            Class.forName(driver);
        } catch (ClassNotFoundException e ){
            e.printStackTrace();
            return null;
        }
        
        try {
            properties.setProperty("workspaceId", "");
            properties.setProperty("endpointName", "");
            
            properties.setProperty("AccessKeyID", "");
            properties.setProperty("SecretAccessKey", "");
             //创建连接。
            con = DriverManager.getConnection(sourceURL, properties);
            System.out.println("Connection succeed!");
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
        
        return con;
    }
```
