1. 동적쿼리, JAP + 스프링 + H2
2.
3.restful
4.JPA개념 용어
5 - JPA -cshop의 entity의 item을 DB에 어노테이션으로 생성하기
6 새로운 테이블 생성 + 문제 풀이
7 레포지토리
8. 자습
ㅡㅡㅡㅡㅡㅡ
mybatis
if문, choose문
동적쿼리
ㅡㅡㅡ
#폴더생성
#새로운 프로젝트생성
H2는
인메모리 방식 - 데이터베이스 저장x 메모리에서 저장합니다. - 테스팅용으로 사용합니다.
maven
스프링프레임워크가 이것과 관련된것을 스프링프레임워크에서
의존관계를 프레임워크가 다운받아주는 것입니다.
#m2폴더삭제
#
maven - pox.mxl
#
gradle - build.gradle
maven의 groupId, artifactId
gradle의 org.springframework.boot = maven의 groupId
gradle의 spring-boot-starter-data-jpa = maven의 artifactId
#메이븐 추가법(dependencies안에 추가)
,
#그래이들 추가법(dependencies안에 추가)
#application.properties
#데이터베이스추가(관계형데이터베이스 mysq, 마리아디비,오라클, msdb, 표준sql문으로 조금씩 다른 차이)
실행되는지 확인
●#3
1.레스트컨트롤은 - html따로 안만듭니다.(개발자가 입력한 문자를 바로 전송할수있습니다.)
2.기존의 컨트롤러(html이 필요합니다. 레스트컨트롤러과 다르게 html의 화면을 보여줍니다.)
#환경셋팅
auto
타임리프추가
자동빌드업
●4
JPA 동작 방식
1.엔티티(Entity) :
데이터베이스의 테이블에 대응하는 클래스
@Entity : jpa가 관리하는 엔티티
2.엔티티 매니저 팩토리(Entity Manager Factory) :
엔티티 매니저 인스턴스(객체)를 관리하는 주체 애플리케이션 실생 시 한 개만 만들어지며 사용자로부터 요청이 오면 엔티니 매니저 팩토리로부터 엔티티 매니저를 생성
3. 엔티티 매니저(Entity Manager) :
영속성 컨텍스트에 접근하여 엔티티에 대한 데이터베이스 작업을 제공, 내부적으로 데이터베이스 커넥션을 사용해서 데이터베이스에 접근
3-1) find() : 영속성 컨텍스트에서 엔티티를 검색하고,
영속성 컨텍스트(Persitence Context)에 없을 경우
데이터베이스에서 데이터를 찾아 영속성 컨텍스트에 저장
3-2) persist() : 엔티티를 영속성 컨텍스트에 저장
3-3) remove() : 엔티티 클래스를 영속성 컨텍스트에서 삭제
3-4) flush() : 영속성 컨텍스트에 저장된 내용을 테이터베이스에 반영
#영속성 컨텍스트(에게 관리받는 대상들을 영속성의 기준이 됩니다.)
영구적으로 저장하기위해
엔티티를 만들고 영구적으로 저장할려고 만든 환경이 영속성 컨텍스트입니다.
영속성 컨텍스트(
새롭게 만드는것 비영속성
영속성 - 저장이 되는 상태(view는 아니다)
#
준영구성 - 따로때어나오는것
#
삭제 -
#
Persitence Context
Map형식으로 관리됩니다. 키와 밸류로 <key, value>
ㅡㅡㅡ
<db 테이블>
Item : 상품 테이블
상품코드 : id Long
상품명 : itemNm String
가격 : price int
재고수량 : StockNumber int
상품상세설명 : itemDetail String
상품판매상태 : itemSellStatus ItemSellstatus
등록시간 : regTime LocalDateTime
수정시간 : updateTime LocalDateTime
<Item Dto>
private Long id;
private String itemNm;
….
private LocalDateTime updateTime
<Item Entity>
@Entity
<Entity 매핑 관련 어노테이션>
@Entity : 클래스를 엔티티로 선언 – 테이블에 대응
@Table : Entity와 매핑할 테이블을 지정
@ID : 테이블의 기본키에 사용할 속성 지정
@GenerateValue : 키 값을 생성하는 전략 명시
@Column : 필드와 컬럼 매칭
@Lob : BLOB - 바이너리 데이터를 DB외부에 저장하기, 이미지, 사운드, 비디오
CLOB - 사이즈가 큰 데이터를 외부 파일로 저장하기 위한 데이터 타입,
문자형 대용량 파일
@CreationTimestamp : insert시 시간 자동 저장
@UpdateTimestamp : update시 시간 자동 저장
@Enumerated : enum 타입 매핑
@Transient : 해당 필드 데이터베이스 매핑 무시
@Temporal : 날짜 타입 매핑
@CreateDate : 에티티가 생성되어 저장될 때 시간 자동 저장
@LastModifiedDate : 조회한 엔티티의 값을 변경할 때 시간 자동 저장
#
엔티티는 반드시 키를 가지고 있어야 합니다.
#
JAP는 테이블을 만들어줍니다. 그래서 개발자는 JAP 어노테이션을 잘활용해야 합니다.
●5 - JPA -cshop의 entity의 item을 DB에 어노테이션으로 생성하기
●6 새로운 테이블 생성 + 문제 풀이
next_val , auto increment ???
culmn???
#
새로운 테이블 생성
testuser테이블
user_id int pk
user_name varchar(20)
user_age int not null
user_grade char(4)
●7 레포지토리
#포스트맨 ( 주소를 주고, 어떻게 결과가 나올건지, 보여주는 프로그램) GET에서 POST에서 어떻게 동작하는지 알수있게 됩니다.
●8 자습
'7.springBoot > 1)개념_springBoot' 카테고리의 다른 글
springBoot_개념_Day_08 (0) | 2024.04.04 |
---|---|
springBoot_개념_Day_07 (0) | 2024.04.03 |
springBoot_개념_Day_05 (0) | 2024.04.03 |
springBoot_개념_Day_04 (0) | 2024.04.03 |
springBoot_개념_Day_03 (0) | 2024.04.03 |