codecamp

OceanBase 创建数据源实例并连接

本节主要介绍如何创建最基本的使用数据源连接到数据库的示例,并且需要使用供应商指定的的硬编码属性设置。

创建一个 OceanBaseDataSource 实例,对其连接属性进行初始化,然后获取一个连接实例,如下例所示:

OceanBaseDataSource obds = new OceanBaseDataSource();
obds.setDriverType("oceanbase-client");
obds.setServerName("dlsun111");
obds.setNetworkProtocol("tcp");
obds.setDatabaseName("312");
obds.setPortNumber(1522);
obds.setUser("adam");
obds.setPassword("apple");
Connection conn = obds.getConnection();

或者可以选择覆盖用户名和密码,如下例所示:

Connection conn = obds.getConnection("alice", "orange");

在使用数据源连接到数据库时支持使用 JNDI 功能。但仅在将数据源实例绑定到 JNDI 逻辑名称的代码中才需要供应商指定的硬编码属性设置。您可以在创建数据源时使用逻辑名来创建可移植代码,从中获取连接实例。

创建数据源实例,注册 JNDI 并连接的步骤如下:

  1. 初始化数据源属性

    创建一个 OceanBaseDataSource 实例,然后根据需要初始化其属性,如下例所示:

    OceanBaseDataSource obds = new OceanBaseDataSource();
    obds.setDriverType("oceanbase-client");
    obds.setServerName("dlsun111");
    obds.setNetworkProtocol("tcp");
    obds.setDatabaseName("312");
    obds.setPortNumber(1522);
    obds.setUser("adam");
    obds.setPassword("apple");
  2. 注册数据源

    初始化 OceanBaseDataSource 实例的连接属性后,就可以向 JNDI 注册该数据源实例,如下例所示:

    Context obctx = new InitialContext();
    obctx.bind("jdbc/sampleobdb", obds);

    调用 JNDI InitialContext() 构造函数将创建一个引用初始 JNDI 命名文本的 Java 对象。系统属性(未显示)指示 JNDI 使用的服务提供商。

    obctx.bind 调用将 OceanBaseDataSource 实例绑定到逻辑 JNDI 名称。这意味着在调用 obctx.bind 之后,随时可以使用逻辑名 jdbc/sampleobdb 并根据 OceanBaseDataSource 实例的 obds 的属性打开数据库连接。逻辑名称 jdbc/sampleobdb 在逻辑上绑定到此数据库。

    JNDI 命名空间的层次结构类似于文件系统。在此示例中,JNDI 名称在根命名上下文下指定子上下文 jdbc,并在 jdbc 子上下文内指定逻辑名 sampleobdb

    Context 接口和 InitialContext 类包含于标准 javax.naming 包中。

  3. 打开连接

    要执行查找并打开逻辑上绑定到 JNDI 名称的数据库连接,请使用逻辑 JNDI 名称。为此,需要将查找结果(也可以是 Java Object)强制转换为 OceanBaseDataSource,然后使用相应的 getConnection 方法打开连接。

    如例所示:

    OceanBaseDataSource obdsconn = (OceanBaseDataSource)obctx.lookup("jdbc/sampleobdb");
    Connection conn = obdsconn.getConnection();


OceanBase 数据源的特性和属性
OceanBase 数据库 URL
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }