스프링부트 데이터베이스설정

less than 1 minute read

데이터베이스 설정하기

application.properties 대신에 application.yml을 사용

추가할 dependencies

dependencies { implementation ‘mysql:mysql-connector-java’ implementation ‘org.springframework.boot:spring-boot-starter-data-jpa’ }

  1. mysql을 사용했으므로 mysql에 맞게 application.yml 수정
    spring:
    datasource:
        url: jdbc:mysql://localhost:3306/테이블이름?serverTimezone=Asia/Seoul
        username: root
        password: 비밀
        driver-class-name: com.mysql.cj.jdbc.Driver

    jpa:
        hibernate:
    #      ddl-auto: create # 자동으로 테이블을 만들어줌 애플리케이션 실행시에 다 지우고 다시 실행
        properties:
        hibernate:
    #        show_sql: true
            format_sql: true

    logging:
    level:
        org.hibernate.SQL: debug
        org.hibernate.type: trace # values(?,?)의 ?에 입력되는 로그를 남겨준다.

lombok

lombok은 Getter와 Setter를 만들어주지 않아도 아래와 같은 코드로 간단하게 구현 가능하다.

dependencies{implementation ‘org.projectlombok:lombok’} 추가

    @Getter
    @Setter
    @Entity
    public class Member {
        @Id
        private Long id;
        private String username;


    }

@Getter @Setter로 getId()나 setId()와 같은 기본 로직들을 자동 생성해준다.

위 와 같이 member테이블이 생성하게 되면 Repository를 만들어서 컨트롤한다.


    @Repository // Entity에 의해 생성된 DB에 접근하는 메서드를 사용하기 위한 인터페이스이다.
    public class MemberRepository {

        @PersistenceContext
        private EntityManager em;

        public Long save(Member member)
        {
            em.persist(member);
            return member.getId();
        }

        public Member find(Long id)
        {
            return em.find(Member.class, id);
        }
    }

EntityManager를 선언하여 em.persist(member)로 테이블을 등록하고 find와 같은 객체를 통하여 정보를 얻을 수 있다.

Leave a comment