My footsteps

구멍가게코딩단 '코드로 배우는 스프링부트 웹프로젝트' / 1 본문

Develop/곤부📙

구멍가게코딩단 '코드로 배우는 스프링부트 웹프로젝트' / 1

밀김 2023. 10. 14. 18:23
728x90

 

 

 

 

 

 

 

 

HikariPool...이게 뭐냐면 스프링부트가 기본적으로 이용하는 커넥션풀이 HikariCP 라이브러리를 이용해서 저게 뜬다.

스프링부트를 사용했기때문에 따로 설정해주지 않아도 사용할수 있는것

커넥션풀 : 데이터베이스나 다른 네트워크 리소스와의 연결을 관리하는데 사용되는 소프트웨어 컴포넌트 또는 기술

HikariCP : 자바로 작성된 오픈 소스 커넥션 풀 라이브러리이다. 데이터베이스와의 연결관리를 효율적으로 처리하기위해 사용된다

 

 

ORM : 객체지향 패러다임을 관계형 패러다임으로 매핑해주는 개념 

 

 

테이블 생성 어노테이션

@Table(name = "tbl_memo")

 

 

PK 자동 생성 어노테이션(오토인크리먼트를 사용해 새로운 레코드가 기록될때마다 다른 번호를 가질수 있도록 처리)

@GeneratedValue(strategy = GenerationType.IDENTITY)

 

 

얘네 셋은 짝꿍

@Builder //객체생성
@AllArgsConstructor
@NoArgsConstructor

 

 

 

spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.show-sql=true

ddl : 프로젝트 실행시에 자동으로 DDL을 생성할것인지를 결정하는 설정

format : 하이버네이트가 동작하면서 발생하는 sql을 포맷팅해서 출력. 실행되는 sql의 가독성을 높여줌

show : jpa 처리시에 발생하는 sql쿼리를 로그에 보여줄것인지를 결정

저 작업을 하고 프로젝트를 실행하면 이렇게 뜬다

 

 

JpaRepository : 스프링프레임워크와 JPA가 제공하는 인터페이스중 하나로 데이터베이스와 쉽게 상호작용하는 기능을 제공하는 인터페이스

 

 

 

Dialet : 자신만의 독자적인 기능을 갖는..방언이라고함

 

 

 

이렇게 페이징에는 여러 메서드가존재함

 // 페이징
    @Test
    public void testPageDefault(){
        Pageable pageable = PageRequest.of(0,10);
        Page<Memo> result = memoRepository.findAll(pageable);

        System.out.println(result);
        System.out.println("-------------------------------------");

        System.out.println("총 몇페이지 : "+result.getTotalPages());
        System.out.println("전체 갯수 : "+result.getTotalElements());
        System.out.println("현재 페이지 번호 : "+result.getNumber());
        System.out.println("페이지당 데이터 개수 : "+result.getSize());
        System.out.println("다음페이지 존재 여부 : "+result.hasNext());
        System.out.println("총 몇페이지 : "+result.getTotalPages());
        System.out.println("시작 페이지 : "+result.isFirst());
       
    }

 

 

getContent() 는 List<엔티티타입> 으로 반환함 

 

get() 은 Stream<엔티티타입>으로반환함

 

 

 

쿼리메서드 : 메서드 이름 자체가 질의문이 되는 기능

 

List<Memo> list = memoRepository.findByMnoBetweenOrderByMnoDesc(70L, 80L);

이렇게하면 메서드 이름 자체가 쿼리문이 되어서 실행이된다

 

 

@Log4j2 어노테이션은 주로 롬복(Lombok) 라이브러리와 함께 사용됩니다. 롬복은 자바 개발을 더 편리하게 만들어주는 라이브러리로, 반복적인 코드 작성을 줄이는 데 도움을 줍니다. 

 

 

DTO (Data Transfer Object)는
프로세스 간에 데이터를 전달하는 객체이다

 

 

 

728x90

'Develop > 곤부📙' 카테고리의 다른 글

구멍가게코딩단 '코드로 배우는 스프링부트 웹프로젝트' / 2  (0) 2023.10.20
JavaScript / 4  (0) 2023.10.14
JavaScript / 3  (0) 2023.10.13
JavaScript / 2  (0) 2023.10.12
JavaScript / 1  (0) 2023.10.06