Druid 데이터베이스 연결 풀 접근

JavaBeginner
지금 연습하기

소개

이 프로젝트에서는 Druid 데이터베이스 연결 풀을 설정하고 이를 사용하여 MySQL 데이터베이스에서 데이터를 검색하는 방법을 배우게 됩니다. Druid 는 MySQL, PostgreSQL, Oracle 등을 포함한 다양한 데이터베이스 연결을 지원하는 인기 있는 오픈 소스 데이터베이스 연결 풀입니다.

👀 미리보기

Druid connection pool setup

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다:

  • Druid 데이터베이스 연결 풀을 설정하는 방법
  • Druid 연결 풀에서 데이터베이스 연결을 반환하는 getConn() 메서드를 구현하는 방법
  • Druid 연결 풀을 사용하여 MySQL 데이터베이스에서 데이터를 검색하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • Druid 데이터베이스 연결 풀을 구성하고 사용하는 방법
  • 연결 풀을 사용하여 MySQL 데이터베이스와 상호 작용하는 방법
  • Java 웹 애플리케이션에서 데이터베이스 연결을 관리하기 위한 모범 사례 적용 방법

Druid 데이터베이스 연결 풀 설정

이 단계에서는 MySQL 데이터베이스에 연결하기 위해 Druid 데이터베이스 연결 풀을 설정하는 방법을 배우게 됩니다.

  1. org.labex.util 패키지에 있는 DBUtil.java 파일을 엽니다.

  2. DBUtil 클래스에서 다음 코드를 추가해야 합니다:

private static DataSource dataSource;

{
    try {
        // Load the Druid configuration from the properties file
        InputStream inputStream = DBUtil.class.getClassLoader().getResourceAsStream("druid.properties");
        Properties properties = new Properties();
        properties.load(inputStream);

        // Create a DruidDataSource based on the configuration
        dataSource = DruidDataSourceFactory.createDataSource(properties);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

이 코드는 druid.properties 파일에서 Druid 구성을 로드하고 해당 구성을 기반으로 DruidDataSource 객체를 생성하는 역할을 합니다.

  1. Druid 연결 풀에서 데이터베이스 연결을 반환하도록 DBUtil 클래스에서 getConn() 메서드를 구현합니다:
public Connection getConn() {
    // Get a connection from the DruidDataSource
    Connection conn = null;
    try {
        conn = dataSource.getConnection();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return conn;
}

이 메서드는 Druid 연결 풀에서 데이터베이스 연결을 반환합니다.

✨ 솔루션 확인 및 연습

웹 애플리케이션 시작

이 단계에서는 웹 애플리케이션을 실행하고 브라우저에서 사용자 정보를 확인하는 방법을 배우게 됩니다.

  1. 터미널에서 다음 명령을 사용하여 프로젝트 디렉토리로 이동합니다:
cd ~/project/DruidProject
  1. 다음 명령을 실행하여 웹 애플리케이션을 시작합니다:
mvn clean tomcat7:run
  1. 웹 브라우저를 열고 http://localhost:8080으로 이동합니다. 입력 필드와 버튼이 표시됩니다. 입력 필드에 Anya 또는 Ethan을 입력하고 검색 버튼을 클릭하여 데이터베이스에서 데이터를 검색할 수 있습니다.

예상 결과는 아래 그림과 같습니다:

web application search result
✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.