HikariCPとは
HikariCP(Hikari Connection Pool)は、Javaアプリケーションでデータベース接続を効率的に管理するための高性能なJDBCコネクションプールです。
以下にHikariCPの主な特徴です。
1. 高速性能
HikariCPは、非常に高速な接続プールの一つとして知られています。
2. 低オーバーヘッド
メモリ使用量が少なく、オーバーヘッドが最小限に抑えられています。
これにより、大量の接続を必要とするアプリケーションでも効率的に動作します。
3. シンプルな設定
設定が簡単で、基本的な設定でも高いパフォーマンスを発揮します。
必要に応じて高度な設定も可能です。
4. 堅牢な設計
接続のリサイクルや再利用、接続の障害処理など、堅牢な接続管理機能を提供します。
5. JDBC標準をサポート
最新のJDBC標準をサポートしており、幅広いデータベースと互換性があります。
HikariCPの基本的な使用方法
以下は、HikariCPを使用した基本的な接続プールの設定例です。
(SpringBootの設定例は後述します)
import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import java.sql.Connection; import java.sql.SQLException; public class HikariCPExample { public static void main(String[] args) { // HikariCPの設定 HikariConfig config = new HikariConfig(); config.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase"); config.setUsername("myuser"); config.setPassword("mypassword"); config.setMaximumPoolSize(10); // HikariDataSourceの作成 HikariDataSource dataSource = new HikariDataSource(config); // データベース接続の取得と使用 try (Connection connection = dataSource.getConnection()) { // データベース操作 System.out.println("Connection successful!"); } catch (SQLException e) { e.printStackTrace(); } // DataSourceのクローズ dataSource.close(); } }
この例では、HikariConfigを使用して手動の接続設定を行い、HikariDataSourceを作成しています。
これにより、データベース接続を管理し、必要に応じてDBに接続してデータを取得できます。
SpringBootではデフォルトで搭載
SpringBootはデフォルトでHikariCPをコネクションプールとして使用するため、特別な設定はほとんど必要ありません。
以下は、SpringBootプロジェクトでHikariCPを使用するための手順です。
1. 依存関係の追加
SpringBootのプロジェクトに以下のような依存関係を追加し、DBに接続できる状態を作ります。
- Spring Web
- Spring Data JPA
- MySQL Driver(または使用するデータベースのドライバー)
2. application.propertiesまたはapplication.ymlの設定
Spring Bootの設定ファイルにデータベース接続情報を追加します。
以下は、application.propertiesファイルの例です:
# データベース接続情報 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=myuser spring.datasource.password=mypassword # HikariCPの設定(最大プールサイズを設定している例) spring.datasource.hikari.maximum-pool-size=10
または、application.ymlを使用する場合は:
spring: datasource: url: jdbc:mysql://localhost:3306/mydatabase username: myuser password: mypassword hikari: maximum-pool-size: 10
3. アプリケーションの起動
すべての設定とコードが整ったら、SpringBootアプリケーションを起動します。
アプリケーションが正常に起動すれば、HikariCPがコネクションプールとして使用され、起動時に以下のようなログが表示されます。
2024-09-05 10:20:01.123 INFO 12345 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-09-05 10:20:02.456 INFO 12345 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.