Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


hikari 连接 XuguDB 示例程序

📄字数 1.6K
👁️阅读量 加载中...

本文档将介绍如何使用 hikari v4.0.3 在 spring-boot-web 应用中连接 XuguDB。

提示

  • XuguDB-JDBC 与 hikari 连接池完全兼容,可以直接使用 hikari 连接池管理 XuguDB 连接
  • 示例代码 xugu-hikari-demo 克隆/下载

一、导入 HikariCP 项目到 IDEA 中

  • 使用 Maven 导入 HikariCP 依赖

pom.xml 文件中加入以下信息

xml
<!-- hikari 连接池 -->
<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>4.0.3</version>
</dependency>
<!-- XuguDB-JDBC驱动 -->
<dependency>
    <groupId>com.xugudb</groupId>
    <artifactId>xugu-jdbc</artifactId>
    <version>12.3.4</version>
</dependency>
  • 使用 Gradle 导入 HikariCP 依赖

build.gradle 中加入以下信息

txt
//hikari 连接池
implementation("com.zaxxer:HikariCP:4.0.3")
//XuguDB-JDBC驱动
implementation("com.xugudb:xugu-jdbc:12.3.4")

二、连接示例程序

修改 HikariCP 连接池中数据库连接信息

  • src/main/resources/application.yml 配置文件中设置 hikari 参数信息,如下所示:
    yaml
    spring:
       datasource:
         type: com.zaxxer.hikari.HikariDataSource
         # 加载 XuguDB 驱动
         driver-class-name: com.xugu.cloudjdbc.Driver
         # 设置连接 XuguDB 的 url
         url: jdbc:xugu://127.0.0.1:5138/SYSTEM
         # 连接 XuguDB 的用户名
         username: SYSDBA
         # 连接 XuguDB 的密码
         password: SYSDBA
         hikari:
           # 连接池名称 (用于监控和日志)
           pool-name: MyHikariPool
           # 连接池中允许的最大连接数 (默认: 10)
           maximum-pool-size: 10
           # 连接池中保持的最小空闲连接数
           minimum-idle: 5
           # 连接超时时间 (毫秒) ,默认: 30000
           connection-timeout: 30000
           # 连接最大存活时间 (毫秒) 
           max-lifetime: 1800000
           # 连接空闲超时时间 (毫秒) ,默认: 600000ms
           idle-timeout: 600000
           # 连接测试查询
           connection-test-query: SELECT 1
           # 自动提交
           auto-commit: true

提示

更多配置信息参考:hikari 官网配置信息

  • 向数据库插入测试数据
sql
create table test(id int identity(1,1) primary key,name varchar,age int);
insert into test values (default,'AandB',1);
insert into test values (default,'CandD',2);
insert into test values (default,'EandF',3);
insert into test values (default,'GandH',4);
insert into test values (default,'IandJ',5);
  • 创建一个 src/main/java/com/xugu/hikari/demo/controller/TestMapper.xml 映射文件
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xugu.hikari.demo.mapper.TestMapper">
   <!-- 简单测试sql -->
    <select id="countAll" resultType="java.lang.Integer">
        select count(*) from test;
    </select>
</mapper>
  • 创建一个 src/main/java/com/xugu/hikari/demo/controller/TestMapper.java 接口
java
@Mapper
public interface TestMapper {
    
    int countAll();
}
  • 创建一个 src/main/java/com/xugu/hikari/demo/controller/TestController.java 控制类用于访问接口
java
@RestController
public class TestController {

    @Autowired
    private TestMapper testMapper;

    @GetMapping("/count")
    public int countAll(){
        return testMapper.countAll();
    }
}

三、常见问题&解决办法

  • 数据库驱动:确认XuguDB-JDBC驱动正确导入项目
  • 配置参数:合理配置连接参数,充分利用连接池的性能和资源管理