프로젝트일지
개인프로젝트 일지_3 | MySQL, JPA 스프링 부트 연동 테스트하는 법
백엔드 개발자 - 젤리곰
2024. 6. 5. 16:51
728x90
1. application.properties 설정
spring.application.name=planBuddy
server.port=8000
# MySQL Database configuration
spring.datasource.url=jdbc:mysql://<엔드포인트>:<포트번호>/<데이터베이스이름>
spring.datasource.username=<마스터 이름>
spring.datasource.password=<마스터 비밀번호>
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA configuration
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
✔️MySQL Database를 연동한다.
✔️spring.jpa.hibernate.ddl-auto=update
-> 애플리케이션 실행 시 JPA가 @Entity 어노테이션이 붙은 클래스에 데이터베이스 스키마를 생성하거나 업데이트한다.
2. Test 디렉토리 경로
Project_1st 하위에 test 디렉토리를 생성하고
test하위에 entity, repository 디렉토리를 만들었다.
3. 코드
✅User
package Project_1st.test.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;
@Entity
@Getter
@Setter
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// Constructors
public User() {}
public User(String name) {
this.name = name;
}
}
@Entity가 붙은 User클래스는 데이터베이스 테이블로 매핑된다.
✅UserRepository
package Project_1st.test.repository;
import Project_1st.test.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
}
✅TestApplication
package Project_1st.test;
import Project_1st.test.entity.User;
import Project_1st.test.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TestApplication implements CommandLineRunner {
@Autowired
private UserRepository userRepository;
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
// 데이터 삽입
User user = new User("ururuwave");
userRepository.save(user);
// 데이터 조회
userRepository.findAll().forEach(System.out::println);
}
}
✔️클래스는 실행 시 CommandLineRunner를 구현하여 User 엔티티 객체를 저장하고 조회한다.
4. 결과
워커벤치에서 확인해보면 id는 자동으로 숫자가 증가되어 저장되고
TestApplication 클래스에 "ururuwave"로 데이터를 삽입한대로 테이블에 update된 것을 확인할 수 있다.
728x90