gyeomii

Spring Boot - gradle JPA 연동방법 본문

오류해결모음

Spring Boot - gradle JPA 연동방법

gyeomii 2023. 4. 27. 16:07
반응형

JPA(Java Persistence API)는 Java에서 객체와 RDB 간의 데이터 접근을 관리하기 위한 API다.
JPA를 사용하면 SQL 쿼리 작성 대신 객체 지향적인 방법으로 데이터를 다룰 수 있다.

Env : Spring boot (gradle), MySQL

1. 의존성 추가

  • build.gradle 파일에 JPA와 MYSQL에 대한 의존성을 추가한다.
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'mysql:mysql-connector-java'
}

2. application.properties 설정

  • MySQL DB와 연동하기 위해 application.properies 파일에 DB정보를 입력한다.
spring.datasource.url=jdbc:mysql://localhost:3306/{database_name}
spring.datasource.username={username}
spring.datasource.password={password}
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

3. Entity 클래스 생성

  • JPA에서는 객체와 DB의 테이블을 연결하는 Entity 클래스를 생성해야 한다.
@Entity
@Table(name = "users")
public class User {
 
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
 
    @Column(name = "name")
    private String name;
 
    @Column(name = "email")
    private String email;
 
    // 생성자, getter, setter 등 생략
}

4. Repository 인터페이스 생성

  • JPA에서 DB에 대한 CRUD(Create, Read, Update, Delete)를 수행하려면 Repository 인터페이스를 생성해야한다.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

5. Service 클래스 생성

  • Repository 인터페이스를 사용하여 비즈니스 로직을 처리하는 Service 클래스를 생성해야한다.
@Service
public class UserService {
 
    @Autowired
    private UserRepository userRepository;
 
    public List<User> getUsers() {
        return userRepository.findAll();
    }
 
    // createUser, updateUser, deleteUser 등의 메서드 생략
}
반응형

'오류해결모음' 카테고리의 다른 글

PyMysql - 'cp949' codec can't decode ...  (0) 2022.12.09
PostgreSQL - Column does not exist 해결  (0) 2022.12.09