CV패턴을 연습해보기 전에 DB와 연결하는 환경세팅을 배워보자.
SpringBoot DevlToos : 코드 변경시 재컴파일해서 서버 실행하는 라이브러리
SpringWeb : DispatcherSevlet 생성, Controller와 관련된 어노테이션을 사용 가능하게 해줌
Lombok : @getter @setter @생성자 @toSring 등의 어노테이션을 사용 가능하게 해줌
H2 Database : DBSM(오라클, MariaDB) 이 없어도 DB Test가 가능한 Test DB
build.gardle의 dependencies에
runtimeOnly 'com.h2database:h2'
가 생긴 것을 볼 수 있다.
'com.h2database:h2'는 Library가 아니라 Database이다
spring.h2.console.enabled=true
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=sa
spring.datasource.password=
context.xml에 적을 내용을 spring에서 적는 것
비밀번호가 없기 때문에 비밀번호 입력 없이 Connect하면 연결됨
실제로 DB가 하드디스크에 뜨진 않고 메모리에 뜬거기 때문에
서버를 꺼버리면 DB가 꺼짐
Oracle Driver / Oracle driver : jdbc
runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
h2는 드라이버가 아니라 데이터베이스
Oracle은 오라클을 연결해주는 라이브러리
DB기 때문에 Oracle연결하면 필요없음>2개 지워주자
spring.datasource.driver-class-name=oracle.OracleDriver
spring.datasource.url=jdbc:orcale:thin:@localhost:1521:xe
spring.datasource.username=SCOTT
spring.datasource.password=TIGER
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
최신드라이버를 썼더니 충돌해서 oracle.jdbc.OracleDriver를 사용했다.
서버 실행시 오류가 뜬다?
작업관리자-서비스에서 확인
오라클이 실행되고 있어야 가능함
package site.metacoding.yellow.domain;
import javax.persistence.Entity;
import javax.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
@Setter
@Getter
@Entity
public class Products {
//프라이머리키가 없다는 오류가 뜸->@ID
@Id
private Integer id;
private String name;
private Integer price;
private Integer qty;
}
짜잔 Oracle SQL Developer에 들어가면 products가 만들어져 있습니다~
jpa : 자바 클래스와 DB테이블을 매핑하는 인터페이스.
hibernate는 라이브러리이다.
java코드로 테이블을 만들수있음(원래는 DB테이블 보고 테이블을 만들어야 하는데 ㅎㅎ)
드롭하고 만들고 드롭하고 만들고<- 매번 서버 실행할 때마다
spring.jpa.show-sql=true
sql문을 콘솔에 띄워주는 역할이래여