1. 添加 Maven 依赖
    1. <dependency>
    2. <groupId>com.alipay.oceanbase</groupId>
    3. <artifactId>oceanbase-client</artifactId>
    4. <version>1.0.9</version>
    5. </dependency>
    6. <dependency>
    7. <groupId>com.google.guava</groupId>
    8. <artifactId>guava</artifactId>
    9. <!--推荐版本18,经过测试14~18都可以-->
    10. <version>18.0</version>
    11. </dependency>
    1. 修改连接字符串

    连接串的前缀需要设置为 jdbc:oceanbase ,其他部分的使用方式与原生的 MySQL 使用方式保持一致。

    1. String url = "jdbc:oceanbase://192.168.1.101/TPCC?useUnicode=true&characterEncoding=utf-8";
    2. String username = "TPCC@obbmsql#obdemo";
    3. String password = "123456";
    4. Connection conn = null;
    5. try {
    6. Class.forName("com.alipay.oceanbase.obproxy.mysql.jdbc.Driver");
    7. conn = DriverManager.getConnection(url, username, password);
    8. PreparedStatement ps = conn.prepareStatement("select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;");
    9. ResultSet rs = ps.executeQuery();
    10. rs.next();
    11. System.out.println("sysdate is:" + rs.getString(1));
    12. rs.close();
    13. ps.close();
    14. } catch (Exception e) {
    15. e.printStackTrace();
    16. } finally {
    17. if (null != conn) {
    18. conn.close();
    19. }
    20. }

    注意事项:

    1. 目前驱动与服务端交互使用的是文本写协议部分,为了兼容 Oracle 文本协议的 SQL 语法,驱动在PreparedStatement 的 setTimestamp 类型中都会在前面增加 timestamp 的字面量,因此针对 PreparedStatement 模式下,timestamp 参数不支持字面量。
    2. ServerPreparedStatement 支持还不完善,因此请不要设置 useServerPrepStmts 和 cachePrepStmts 参数。
    3. 对于 Druid 框架,如果没有使用 DriverManager,需要直接指定 DrvierClass,如下:
    1. <property name"driverClassName" value="com.alipay.oceanbase.obproxy.mysql.jdbc.Driver">