---
title: "建立与数据库的连接 - JDBC 驱动程序  V2.4.13 | OceanBase 文档中心"
description: 建立与数据库的连接 OceanBase Connector/J 支持两种数据库连接方式：DriverManager 和数据连接池。 使用 DriverManager 与 OceanBase Connector/J 建立连接时，推荐使用 DriverManager 类。 使用 DriverManager 类时，按照以下…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*bhcER5Qvet8AAAAAAAAAAAAADiGDAQ/original) JDBC 驱动程序 V 2.4.13

# 建立与数据库的连接

更新时间：2026-07-22 17:45:59

[编辑](https://github.com/oceanbase/connector-j-doc/edit/V2.4.13/zh-CN/300.user-guide/100.quick-start/200.open-connection-to-database.md)  

OceanBase Connector/J 支持两种数据库连接方式：DriverManager 和数据连接池。

## 使用 DriverManager

与 OceanBase Connector/J 建立连接时，推荐使用 DriverManager 类。

使用 DriverManager 类时，按照以下方法设置参数即可建立与 OceanBase 数据库的连接：

```java
Connection connection = DriverManager.getConnection("jdbc:oceanbase://host:port/user=root&password=***");

```

使用 DriverManager 之前需要使用 `Class.forName` 加载类，然后使用 OceanBase 数据库的 IP 地址及端口号进行数据库连接，即将 `String url` 字段填入相应的 IP 地址、端口号和 Schema 名称。

完整的连接代码示例如下：

```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class HelloWorld {
   public static void main(String[] args) {
       try {
           String url = "jdbc:oceanbase://ipaddress:port/shemaname?pool=false";
           String  user = "username";
           String  password = "***";
           Class.forName("com.oceanbase.jdbc.Driver");
           Connection connection = DriverManager.getConnection(url, user, password);
       } catch (Throwable e) {
           e.printStackTrace();
       }
   }

```

#### 说明

对于专有云或独立部署的场景，`username` 的格式为：`String user` = "用户名@租户#集群";

数据库连接成功后，可以重新执行以下示例中的步骤进行加载类。

```java
javac -cp target/oceanbase-client-{version}.jar HelloWorld.java
java -cp .:target/oceanbase-client-{version}.jar HelloWorld

```

## 使用数据连接池

与 OceanBase Connector/J 建立连接的另一种方法是使用连接池。

OceanBase Connector/J 支持 2 种不同的 Datasource Pool 实现：

- `OceanbaseDataSource`：基本实现。每次调用 `getConnection()` 方法时都会创建一个新连接。
 - `OceanbasePoolDataSource`：连接池实现。连接池用于集中维护连接资源，当收到新的连接请求时，会从该池中借用一个连接。

### 内部池

驱动程序的内部池配置提供了非常快速的池实现，并解决了以下大多数 Java 池具有的问题：

- 释放后出现两种不同的连接状态清理方式
 - 处理非活跃连接（如果一段时间后不使用，则池中的连接将被释放，避免在达到 `@wait_timeout` 阈值之后，由于服务器关闭连接而产生的问题）。

### 外部池

使用外部连接池时，必须配置 OceanBase 驱动程序类 `com.oceanbase.jdbc.Driver`。

示例：使用 hikariCP JDBC 连接池。

```java
final HikariDataSource ds = new HikariDataSource();
ds.setMaximumPoolSize(10);
ds.setDriverClassName("com.oceanbase.jdbc.Driver");
ds.setJdbcUrl("jdbc:oceanbase://localhost:2883/db");
ds.addDataSourceProperty("user", "root");
ds.addDataSourceProperty("password", "OBClient");
ds.setAutoCommit(false);

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
