Example of configuring a HiKariCP connection pool

2023-08-07 09:31:06  Updated

This topic describes how to configure dependencies and configuration files for a HiKariCP connection pool and provides relevant sample code.

Configure dependencies

pom.xml

  <dependency>
            <groupId>com.alipay.oceanbase</groupId>
            <artifactId>oceanbase-client</artifactId>
            <version>3.2.3</version>
        </dependency>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>3.3.1</version>
        </dependency>

Configuration files

jdbc.properties

jdbcUrl=jdbc:oceanbase://10.100.xxx.xxx:18817/test?useSSL=false&useServerPrepStmts=true&serverTimezone=UTC
username=admin@mysql
password=******
dataSource.cachePrepStmts=true
dataSource.prepStmtCacheSize=250
dataSource.prepStmtCacheSqlLimit=2048
dataSource.useServerPrepStmts=true
dataSource.useLocalSessionState=true
dataSource.rewriteBatchedStatements=true
dataSource.cacheResultSetMetadata=true
dataSource.cacheServerConfiguration=true
dataSource.elideSetAutoCommits=true
dataSource.maintainTimeStats=false

Sample code

 @Test
    public void hikariTest() throws SQLException {
        HikariConfig config = new HikariConfig("/jdbc.properties");
        Connection conn = new HikariDataSource(config).getConnection();
        PreparedStatement drop_table_data_test = conn.prepareStatement("drop table data_test");
        Statement stmt = conn.createStatement();
        try {
            drop_table_data_test.execute();
        } catch (SQLException e) {
        }
        conn.prepareStatement("create table data_test(test1 int)").execute();
            for (int i = 0; i <= 10; i++) {
                stmt.executeUpdate("insert into data_test values("+i+")");
            }
        ResultSet rs = conn.prepareStatement("select * from data_test;").executeQuery();
        while (rs.next()){
            System.out.print(rs.getObject(1)+"\t");
        }
        System.out.println();
        System.out.println("------------------------");
        stmt.executeUpdate("update data_test set test1 = 100;");
        ResultSet rs1 = conn.prepareStatement("select * from data_test;").executeQuery();
        while (rs1.next()){
            System.out.print(rs1.getObject(1)+"\t");
        }
        System.out.println();
        System.out.println("------------------------");
        stmt.executeUpdate("delete from data_test");
        ResultSet rs2 = stmt.executeQuery("select * from data_test;");
        if (!rs2.next()){
            System.out.println("Data deleted");
        }
        stmt.close();
        drop_table_data_test.execute();
        drop_table_data_test.close();
        rs.close();
        conn.close();
    }

Contact Us