인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

파타곤이야님의 프로필 이미지
파타곤이야

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

인텔리제이 내장 db

작성

·

46

0

안녕하세요,

저는 현재 스프링 시큐리티 강의를 수강 중인 학생입니다. 강의를 차근차근 학습하고 있었으나, 프로젝트 마감 기한을 맞추기 위해 실전 프로젝트 부분을 우선적으로 학습하고 있습니다.

문제는 제가 아직 스프링과 스프링부트에 익숙하지 않다는 점입니다. 그래서 DB 연결 및 구축 방법에 대해 잘 이해하지 못하고 있습니다. 혹시 이 부분에 대해 어떻게 해야 하는지 설명해 주실 수 있으신가요? 또는 참고할 만한 자료가 있다면 추천 부탁드립니다.

구글에서 자료를 찾아보기도 했지만, 여전히 혼란스러운 부분이 많습니다. 현재 프로젝트에서는 백엔드와 시큐리티 부분을 담당하고 있으며, 강사님의 강의를 통해 제대로 배워보고자 하고 있습니다. 질문드린 부분을 도와주실 수 있으면 정말 감사하겠습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
파타곤이야님,

인텔리제이 내장 DB를 활용해서 DB 연결 및 구축 방법을 알아보시려는 것 같네요. 스프링 부트 프로젝트에서 SQL 데이터베이스와 연결하여 초기화 하는 방법에 대해 설명드리겠습니다.

  1. 스프링 부트 설정:

    • application.properties 또는 application.yml 파일에 데이터베이스 연결 설정을 추가합니다.
    spring.datasource.url=jdbc:h2:mem:testdb
    spring.datasource.driverClassName=org.h2.Driver
    spring.datasource.username=sa
    spring.datasource.password=password
    spring.jpa.hibernate.ddl-auto=update
    
  2. 필요 라이브러리 추가:

    • pom.xml 파일에 H2 데이터베이스 의존성을 추가합니다.
    <dependency>
       <groupId>com.h2database</groupId>
       <artifactId>h2</artifactId>
       <scope>runtime</scope>
    </dependency>
    
  3. 데이터베이스 초기화:

    • schema.sql 또는 data.sql 파일을 src/main/resources 디렉토리에 배치하여 스키마와 초기 데이터를 정의할 수 있습니다.
    • 이에 대해 더 자세한 내용은 Spring Boot Reference Documentation에서 확인할 수 있습니다.
  4. JPA를 사용한 Entity 설정:

    • Entity 클래스를 정의하고 JPA를 사용해 데이터베이스와 연결합니다.
    @Entity
    public class Account {
       @Id
       @GeneratedValue(strategy = GenerationType.IDENTITY)
       private Long id;
    
    
       private String username;
       private String password;
       // getters and setters
    }
    
  5. Repository 생성:

    • 인터페이스를 이용해 리포지토리를 생성합니다.
    public interface AccountRepository extends JpaRepository<Account, Long> {
       Optional<Account> findByUsername(String username);
    }
    

이 과정이 완료되면 데이터베이스와의 연결 및 초기화를 자동으로 관리할 수 있습니다. 자세한 단계별 가이드는 Spring Boot Reference Documentation에서 확인하실 수 있습니다.

추가적으로 궁금한 사항이 있으시면 언제든지 질문해 주세요. 프로젝트 성공적으로 마무리하시길 바랍니다!

감사합니다.

파타곤이야님의 프로필 이미지
파타곤이야

작성한 질문수

질문하기