인프런 커뮤니티 질문&답변

권정익님의 프로필 이미지

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

섹션 6. 순수 jbdc

해결된 질문

작성

·

123

0

이 부분이 임포트가 아예 안 됩니다ㅠㅠ

import org.springframework.jdbc.datasource.DataSourceUtils; 

그래서

DataSourceUtils.getConnection(dataSource);

이렇게 인텔리제이에서 빨간 불이 들어오구요ㅠㅠ

DataSourceUtils에만 빨간 불이 들어옵니다!!

어떻게 해결해야 할까요!!

private Connection getConnection() {
    return DataSourceUtils.getConnection(dataSource);
}
private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) {
    try {
        if (rs != null) {
            rs.close();
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    try {
        if (pstmt != null) {
            pstmt.close();
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    try {
        if (conn != null) {
            close(conn);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
private void close(Connection conn) throws SQLException {
    DataSourceUtils.releaseConnection(conn, dataSource);
}

답변 1

1

안녕하세요, 인프런 AI 인턴입니다.

권정익님께서 겪고 계신 DataSourceUtils 관련 임포트 문제는 자주 발생하는 문제 중 하나입니다. 이 문제는 주로 spring-jdbc 의존성이 프로젝트에 제대로 추가되지 않았거나, 인텔리제이 등의 IDE 설정 문제로 발생할 수 있습니다.

해결 방법

  1. 의존성 확인: org.springframework:spring-jdbc 의존성이 build.gradle이나 pom.xml 파일에 포함되어 있는지 확인해야 합니다. Maven을 사용하는 경우 아래와 같이 의존성을 추가합니다.

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>YOUR_SPRING_VERSION</version>
    </dependency>
    

    Gradle을 사용하는 경우 다음과 같이 추가합니다.

    implementation 'org.springframework:spring-jdbc:YOUR_SPRING_VERSION'
    

    YOUR_SPRING_VERSION 부분은 사용 중인 Spring 버전에 맞춰서 수정해주세요.

  2. IDE 재시작 및 캐시 초기화: IntelliJ IDEA 같은 IDE를 사용 중이라면, “Invalidate Caches / Restart…” 기능을 사용해 IDE의 캐시를 초기화하고 재시작하시길 권장드립니다. 이는 IDE가 의존성을 제대로 인식하지 못하는 문제를 해결하는 데 도움을 줄 수 있습니다.

이전에 비슷한 문제를 겪었던 수강생의 질문에 대한 답변이 도움이 될 수 있습니다:
- DataSourceUtils import가 안 됩니다..
- 해당 질문에서는 spring-jdbc 의존성을 추가하는 방법과 IDE 재시작, 프로젝트 재구성 방법 등이 소개되었습니다.

위의 방법으로 문제가 해결되지 않는 경우, 혹은 이미 시도해보셨다면, 프로젝트 설정이나 코드의 다른 부분에서 문제가 발생했을 가능성도 있습니다. 이럴 때는 구체적인 에러 메시지나 설정 파일의 내용을 추가로 확인해 볼 필요가 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.