[java] 데이터베이스 연결과 커넥션 풀링 설정

이번 포스트에서는 Java 어플리케이션에서 데이터베이스에 연결하는 방법과 커넥션 풀링 설정에 대해 알아보겠습니다.

데이터베이스 연결

Java 어플리케이션에서 데이터베이스에 연결하기 위해서는 JDBC(Java Database Connectivity)를 이용합니다. JDBC는 데이터베이스에 연결하고 쿼리를 실행하는 데에 필요한 인터페이스와 클래스들을 제공합니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DatabaseConnection {
    private static Connection connection;
    private static String url = "jdbc:mysql://localhost:3306/mydatabase";
    private static String username = "username";
    private static String password = "password";

    public static Connection getConnection() {
        try {
            connection = DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
}

위의 코드 예제는 MySQL 데이터베이스에 연결하는 예제입니다. getConnection() 메서드를 통해 데이터베이스에 연결을 수행하고 연결 객체를 반환합니다.

커넥션 풀링 설정

커넥션 풀링은 데이터베이스 연결을 미리 만들어 두고, 애플리케이션이 데이터베이스 연결을 요청할 때마다 미리 생성된 연결을 제공하는 풀링 기법을 말합니다. 이를 통해 데이터베이스 연결을 매번 새로 생성하고 해제하는 오버헤드를 줄일 수 있습니다.

import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;

public class ConnectionPool {
    private static DataSource dataSource;

    public static DataSource getDataSource() {
        if (dataSource == null) {
            BasicDataSource ds = new BasicDataSource();
            ds.setUrl("jdbc:mysql://localhost:3306/mydatabase");
            ds.setUsername("username");
            ds.setPassword("password");
            ds.setInitialSize(5);
            ds.setMaxTotal(10);
            dataSource = ds;
        }
        return dataSource;
    }
}

위의 코드 예제는 Apache Commons DBCP(DataBase Connection Pool)를 사용하여 커넥션 풀링을 설정하는 예제입니다. getDataSource() 메서드를 통해 커넥션 풀을 얻어올 수 있습니다.

커넥션 풀링을 사용하면 애플리케이션의 성능을 향상시키고 데이터베이스 리소스를 효율적으로 활용할 수 있습니다.

이상으로 Java 어플리케이션에서 데이터베이스 연결과 커넥션 풀링 설정에 대해 알아보았습니다.

참고문헌: