[java] Apache DbUtils의 데이터베이스 연결 관리
Apache DbUtils는 Apache Commons 프로젝트의 일부로, 자원 해제와 데이터베이스 연결 관리를 단순화하는 유틸리티 라이브러리입니다. 이 라이브러리를 사용하면 데이터베이스 관련 코드를 간결하게 유지할 수 있으며, 중복된 코드를 피할 수 있습니다. 이번에는 Apache DbUtils를 사용하여 Java 애플리케이션에서 간단한 데이터베이스 연결을 관리하는 방법에 대해 살펴보겠습니다.
의존성 추가
먼저 Maven을 사용하는 경우, pom.xml
파일에 다음과 같이 DbUtils 의존성을 추가합니다:
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.7</version>
</dependency>
Gradle을 사용하는 경우, build.gradle
파일에 다음과 같이 의존성을 추가합니다:
dependencies {
implementation 'commons-dbutils:commons-dbutils:1.7'
}
의존성을 추가한 후에는 프로젝트를 새로고침하여 라이브러리를 가져옵니다.
데이터베이스 연결 관리
데이터베이스 연결 설정
먼저, 데이터베이스 연결을 설정하는 코드를 작성합니다:
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseManager {
private static final String URL = "jdbc:mysql://localhost:3306/mydb";
private static final String USER = "username";
private static final String PASSWORD = "password";
private DataSource dataSource;
public DatabaseManager() {
this.dataSource = setupDataSource();
}
private DataSource setupDataSource() {
/* 데이터베이스 속성 및 연결 풀 설정 */
}
public Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
}
쿼리 실행
이제 Apache DbUtils의 QueryRunner
클래스를 사용하여 쿼리를 실행할 수 있습니다:
public class DataRetriever {
private DatabaseManager databaseManager;
public DataRetriever(DatabaseManager databaseManager) {
this.databaseManager = databaseManager;
}
public void retrieveData() {
QueryRunner queryRunner = new QueryRunner(databaseManager.getConnection());
ResultSetHandler<List<String>> resultSetHandler = rs -> {
List<String> results = new ArrayList<>();
while (rs.next()) {
results.add(rs.getString("column_name"));
}
return results;
};
try {
List<String> data = queryRunner.query("SELECT column_name FROM table_name", resultSetHandler);
// 데이터 처리 로직
} catch (SQLException e) {
// 예외 처리 로직
}
}
}
Apache DbUtils를 사용하면 데이터베이스 연결을 설정하고 쿼리를 실행하는 코드를 간결하게 유지할 수 있습니다. 이를 통해 코드 유지보수가 간단해지고, 데이터베이스 관련 기능을 빠르게 구현할 수 있습니다.
Apache DbUtils에 대한 자세한 내용은 공식 문서를 참조하십시오.