KDT/TIL

2022-10-27 (목) - 미완

imname1am 2022. 10. 31. 22:20
반응형

oBootDBConnect 이어서. . .

Member1.java

듬성듬성


jdbc

- 메모리에 저장하는 거라 Annotation 필요 없음

final로 만들면 인스턴스 못 만듦(?)

 

MemoryMemberRepository에서 @Repository하면 얘가 Repository로 설정됨.


JPA

oBootJpa01

- lombok

스프링 끄고 실행

Gradle VS Maven (면접)

 

03.JPA

// 생성자에 @Autowired 가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어줌.
객체 의존관계를 외부에서 넣어주는 것을 DI (Dependency Injection), 의존성 주입이라 함.
이전 에서는 개발자가 직접 주입했고, 여기서는 @Autowired에 의해 스프링이 주입.

스프링 빈을 등록하는 2가지 방법
1) 컴포넌트 스캔과 자동 의존관계 설정
2) 자바 코드로 직접 스프링 빈 등록하기

@Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다.
-> @Controller
-> @Service
-> @Repository

CREATE USER scottJpa IDENTIFIED BY tiger;
GRANT DBA TO scottJpa;

 

컨트롤러 (@Controller) -> 서비스 (@Service)  -> 레퍼지토리 (인터페이스) -> 도메인 (@Entity)

 

build.gradle

plugins {
	id 'org.springframework.boot' version '2.7.5'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
	id 'java'
}

group = 'com.oracle'
version = 'version1.0'
sourceCompatibility = '11'

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

get 매핑 -> 조회할 때

post 매핑 -> 수정, 삭제, 입력 할 때 사용

 

트랜잭션

원자성, 일관성, 고립성, 지속성

 

롬복 (build.gradle)

buid.gradle = pom.xml

application.properties = web.xml

operation 시 none으로 바꿔줘야 함 🌟🌟🌟


05.MyBatis

 

서비스 단위에서 트랜잭션해줘야함,

Member.java -> 테이블에 대한 세팅이 없으면 객체를 찾음 (매핑)

toString하면 객체 조회할 수 있음

 

반응형