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
参数信息,如下所示:yamlspring: 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驱动正确导入项目
- 配置参数:合理配置连接参数,充分利用连接池的性能和资源管理