-
[Spring boot] JPA 적용하기, MySQLspring boot 2024. 2. 14. 00:55
1. dependencty 추가
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
2. application.properties 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/name?serverTimezone=Asia/Seoul spring.datasource.username= spring.datasource.password= # DDL(create, alter, drop) 정의시 DB의 고유 기능 사용 가능 spring.jpa.hibernate.ddl-auto=create # JPA 쿼리문 보여줌 spring.jpa.show-sql=true
3. 구현
Entity란?
- 데이터베이스에 쓰일 컬럼과 여러 엔티티간의 관계를 정의하는 곳
- 이 클래스의 필드들은 실제 데이터베이스에 만들어 질 컬럼과 같다
package com.example.demo.data.entity; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Entity // entity라고 정의 @Data @Table(name = "user") // table 이름 정하기 @AllArgsConstructor @NoArgsConstructor @Builder public class UserEntity { @Id // primary key @GeneratedValue // 자동으로 userId 값 채워줌 Integer userId; @Column(nullable = false) String name; @Column(nullable = false) Integer age; String email; }
Repository란?
- entity에 의해 생성된 데이터베이스에 접근하는 메소드를 사용하기 위해 이용되는 인터페이스
package com.example.demo.repository; import com.example.demo.data.entity.UserEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface UserRepository extends JpaRepository<UserEntity, Integer> { } // Integer를 쓴 이유: User 테이블의 primary key 타입이 Interger이기 때문
사용:
userRepository.save(userEntity); userRepository.getById(userId);
이런식으로 사용이 가능하다!
출처
https://www.youtube.com/watch?v=4Pvd0KrTfvE&list=PLlTylS8uB2fBOi6uzvMpojFrNe7sRmlzU&index=14
'spring boot' 카테고리의 다른 글
[Spring boot] JUnit에 대해 알아보자 (0) 2024.02.17 [Spring boot] RestTemplate에 대해 알아보자 (0) 2024.02.17 [Spring boot] Lombok에 대해 알아보자 (1) 2024.02.12 [Spring boot] Logback에 대해서 알아보자. (0) 2024.02.12 [spring boot] 에러 핸들링 @ExceptionHandler @ControllerAdvice (0) 2024.01.25