HikariCP Java: Vollständige Anleitung mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

HikariCP für Java: Vollständige Anleitung mit Beispielen

1. Was ist HikariCP und warum wird es benötigt?

HikariCP (ausgesprochen "hi-ka-ri-si-pi") ist ein leistungsstarker Connection-Pool für Datenbanken in Java. Der Name stammt vom japanischen Wort "光" (hikari), was "Licht" bedeutet. Die Bibliothek wurde mit Fokus auf minimale Latenz und maximale Durchsatzrate entwickelt. In der Java-Welt gibt es mehrere Connection-Pools (z. B. Apache DBCP, C3P0, Tomcat JDBC), aber HikariCP gilt als der schnellste und leichteste.

Warum braucht man einen Connection-Pool? Der Aufbau einer Datenbankverbindung ist eine teure Operation (TCP-Handshake, Authentifizierung, Session-Aufbau). Wenn für jede SQL-Abfrage eine neue Verbindung geöffnet wird, sinkt die Anwendungsleistung drastisch. Ein Connection-Pool löst dieses Problem: Er hält vorab erstellte Verbindungen in einem "Reservoir" bereit. Wenn die Anwendung eine Abfrage ausführen muss, entnimmt sie eine fertige Verbindung aus dem Pool, nutzt sie und gibt sie zurück. Das beschleunigt die Arbeit erheblich und entlastet die Datenbank.

HikariCP wird in großen Projekten wie Spring Boot (standardmäßig seit Version 2.0), Play Framework, Dropwizard und vielen anderen eingesetzt. Die Bibliothek unterstützt alle gängigen DBMS: PostgreSQL, MySQL, MariaDB, Oracle, H2, HSQLDB, SQL Server und andere. Dank seiner Effizienz und Einfachheit ist HikariCP der De-facto-Standard für Connection-Pools im Java-Ökosystem.

2. Installation

HikariCP wird über das zentrale Maven-Repository verteilt. Fügen Sie die Abhängigkeit zu Ihrer pom.xml (für Maven) oder build.gradle (für Gradle) hinzu. Sie benötigen außerdem den JDBC-Treiber für Ihre Datenbank.

Maven (pom.xml)

<!-- HikariCP -->
<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>5.1.0</version>
</dependency>

<!-- JDBC-Treiber für PostgreSQL (Beispiel) -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.7.1</version>
</dependency>

Gradle (build.gradle)

implementation 'com.zaxxer:HikariCP:5.1.0'
implementation 'org.postgresql:postgresql:42.7.1'

Wichtig: Versionen können sich ändern. Es wird empfohlen, die aktuelle Version auf der offiziellen Maven-Central-Website zu prüfen. Für andere DBMS ersetzen Sie den Treiber entsprechend (z. B. mysql-connector-j für MySQL).

3. Schnellstart – Minimales Arbeitsbeispiel

Nachfolgend finden Sie ein minimales Beispiel zur Verwendung von HikariCP für eine einfache Abfrage an eine PostgreSQL-Datenbank. Es wird vorausgesetzt, dass PostgreSQL mit der Datenbank testdb und der Tabelle users läuft.

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class QuickStart {
    public static void main(String[] args) {
        // 1. Konfiguration einrichten
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl("jdbc:postgresql://localhost:5432/testdb");
        config.setUsername("postgres");
        config.setPassword("password");
        config.setMaximumPoolSize(10);

        // 2. DataSource erstellen
        try (HikariDataSource dataSource = new HikariDataSource(config)) {

            // 3. Verbindung aus dem Pool holen
            try (Connection                    

Empfehlungen