Spring Boot

AWESOMee·2022년 7월 21일
0

Spring Boot

목록 보기
2/4
post-thumbnail

Hikari CP

  • 2012년 개발된 커넥션 풀
  • 스프링부트 2.0부터 기본 커넥션 풀로 지정됨
  • 스프링프레임워크에서는 기본 JDBC 클래스에서 제공하는 커넥션 풀을 사용
  • 스프링부트에서는 Hikari CP를 이용해서 커넥션 풀을 만듦
  • 커넥션 풀은 데이터베이스와 연결된 커넥션들을 미리 생성해놓고 pool로 관리하는 것을 의미
    -> 사용자가 커넥션 풀에 커넥션을 요청하면 커넥션 풀에서 사용중이지 않은 커넥션을 하나 빌려주는 형태

ORM(Object Relational Mapping)

  • 자바 객체와 테이블을 매핑시키는 기술 및 프레임워크

JPA(Java Persistence API)

  • JPA는 실제 동작을 만드는 것이 아니고 어떻게 동작해야 하는지 매커니즘을 명시
  • 개발자가 테이블과 1:1로 매핑되는 객체(VO, DTO, Entity)를 이용하여 쿼리 매커니즘을 명시하면 자동으로 쿼리가 생성 및 실행됨
  • JPA는 인터페이스고 대표적인 구현제로는 Hibernate, EclipseLink, DataNucleus 등이 있다.

Hibernate

  • JPA의 대표적인 구현체중 하나로 CRUD에 필요한 인터페이스를 제공하고 레포지토리를 정의해 사용함으로써 스프링이 적합한 쿼리를 동적으로 생성하는 방식으로 데이터베이스를 조작

Persistense Context(영속성 컨텍스트)

  • 어플리케이션과 데이터베이스 사이에서 entity와 data의 괴리를 해소하는 기능과 객체를 보관하는 기능을 제공

Entity Manager

  • 데이터베이스에 접근하여 직접 쿼리를 수행하는 객체
  • Entity Manager를 상속받은 객체를 조작하여 수행

JPA option

spring.jpa.hibernate.ddl-auto=create

  • create: 어플리케이션이 실행될 때 기존 테이블을 삭제하고 다시 생성
  • create-drop: drop시점이 어플리케이션 종료(나머지는 create와 동일하게 동작)
  • update: 변경된 스키마만 적용. 기존 데이터는 유지
  • validate: update와 비슷하지만 스키마는 변경하지 않고 테이블 정보만 변경
  • none: ddl-auto 기능을 사용하지 않음





** Command 객체

  • 메소드에서 매개변수로 선언된 객체
  • getter, setter가 필수적으로 존재해야함
  • View에서 보내준 데이터의 키 값과 이름이 같은 속성 값의 setter가 자동 호출되어 세팅된다.
  • 커맨드 객체의 속성 값중 int는 0으로, string은 ""으로 초기화됨
profile
개발을 배우는 듯 하면서도

0개의 댓글