Spring-Boot,JPA로 질문/답변 게시판 구현(13)
Spring-Boot, JPA로 질문/잡변 게시판 구현 및 배포
자바지기님 유튜브 강의 정리
3-1. 자바와 객체 테이블 매핑, 회원가입 기능 구현
-
자바 객체를 데이터베이스 테이블과 매핑 –> 테이블이 자동으로 생성
- JPA라는 도구를 사용하면 자바 객체에 매핑을 해놓은 설정에따라서 테이블이 자동으로 생성됨
-
pom.xml에 spring boot data jpa starter 추가
-
jpa를 활용하면 데이터베이스에 데이터를 추가하고 조회하는것이 편하다. 추후에 직접 데이터베이스에 쿼리를 실행해서 데이터를 넣고 빼는 작업을 하면 jpa가 편하다는것을 느낄 수 있다.
- 데이터베이스 설정완료
-
그에 맞는 코드를 구현 - package추가
- 패키지에 User클래스 이동, User클래스에 annotation을 이용하여 jpa 매핑(@Entity)
- 고유키(primary key)를 위한 annotation @Id
- String을 이용하는것보다 auto incre를 이용한 int값을 사용하는것이 더 좋다. @GeneratedValue
- userId는 null이되어서는 안된다 –> @Column(nullable=false), length값도 설정가능
-
데이터베이스와 연결을 위해 interface추가 – UserRepository extends jparepository<Class, ID타입>
- jparepository를 통해 데이터 삽입, 조회 등 가능
-
application.properties파일에 설정 입력
spring.datasource.url=jdbc:h2:mem:my-slipp;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
-
Controller클래스에 UserRepository를 사용, @Autowired사용
-
테스트
-
h2가 메모리 db로 설정되어있기때문에 list에 데이터를 저장한것처럼 서버 재시작을하면 저장한데이터가 없어진다. 그래서 추후에 없어지지않도록 데이터 유지하는방법에대해 알아볼것이다.
-
궁금한점
Autowired를 사용하는 이유
댓글남기기