79 lines
2.0 KiB
Markdown
79 lines
2.0 KiB
Markdown
Java 连接 OceanBase 示例
|
|
=========================================
|
|
|
|
|
|
|
|
1. 添加 Maven 依赖
|
|
|
|
```javascript
|
|
<dependency>
|
|
<groupId>com.alipay.oceanbase</groupId>
|
|
<artifactId>oceanbase-client</artifactId>
|
|
<version>1.1.5</version>
|
|
</dependency>
|
|
```
|
|
|
|
|
|
**说明**
|
|
|
|
|
|
|
|
如果需要下载 oceanbase-client,请点击:[oceanbase-client](https://oceanbase-aliyun-docs.oss-cn-hangzhou.aliyuncs.com/downloads/obclient/oceanbase-client-1.1.5.jar)。
|
|
|
|
|
|
|
|
|
|
|
|
<!-- -->
|
|
|
|
2. 修改连接字符串
|
|
|
|
连接串的前缀需要设置为 jdbc:oceanbase ,其他部分的使用方式与原生的 MySQL 使用方式保持一致。
|
|
|
|
```javascript
|
|
String url = "jdbc:oceanbase://192.168.1.101/TPCC?useUnicode=true&characterEncoding=utf-8";
|
|
String username = "TPCC@obbmsql#obdemo";
|
|
String password = "123456";
|
|
Connection conn = null;
|
|
try {
|
|
Class.forName("com.alipay.oceanbase.obproxy.mysql.jdbc.Driver");
|
|
conn = DriverManager.getConnection(url, username, password);
|
|
PreparedStatement ps = conn.prepareStatement("select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;");
|
|
ResultSet rs = ps.executeQuery();
|
|
rs.next();
|
|
System.out.println("sysdate is:" + rs.getString(1));
|
|
rs.close();
|
|
ps.close();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
} finally {
|
|
if (null != conn) {
|
|
conn.close();
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
**注意**
|
|
|
|
|
|
* 目前驱动与服务端交互使用的是文本写协议部分,为了兼容 Oracle 文本协议的 SQL 语法,驱动在PreparedStatement 的 setTimestamp() 类型中都会在前面增加 timestamp 的字面量,因此针对 PreparedStatement 模式下,timestamp 参数不支持字面量。
|
|
|
|
|
|
|
|
* ServerPreparedStatement 支持还不完善,因此请不要设置 useServerPrepStmts 和 cachePrepStmts 参数。
|
|
|
|
|
|
|
|
* 对于 Druid 框架,推荐使用 Druid 最新版 1.2.3:https://github.com/alibaba/druid/releases。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|