본문 바로가기
반응형

Pageable4

querydsl Pageable(), offset, limit을 이용한 페이징 방법 오늘 QueryDSL을 이용한 페이징을 만드는 일을 했는데, 대충 대충 눈으로만 익혔던 지식의 한계를 느끼며 삽질을 좀 했지만 나름 재미는 있었다. 애초에 '회의록'를 조회하는 조건은 날짜, 검색어, 사용자 등으로 검색한 결과를 JPA Repository를 이용해 페이징을 했었다. '회의록'에 참석한 사용자의 경우에도 회의록을 조회할 경우 자기도 포함된 회의록이 나오도록 수정해달라는 요청을 받았다. 애초, 조인 없이 단일 테이블 조회로 만들어진 기능을 조인을 넣어 현재 로그인 한 사용자가 참석한 회의록이 있을 때도 나오도록 수정하면서 JPA Repository의 pageable을 통한 것이 아니라 QueryResults를 통해 offset과 limit를 이용해 페이징되도록 수정하였다. QueryDSL을 .. 2023. 7. 28.
SpringBoot Page객체에서 제공하는 메서드. SpringBoot Page객체에서 제공하는 메서드. Page 객체를 통해서 얻을 수 있는 메서드. int getNumber() : 현재 페이지 정보 int getSize() : 한 페이지의 크기 int getTotalPages() : 전체 페이지의 수 int getNumberOfElements() : 결과 데이터 수 boolean hasPreviousPage() : 이전 페이지의 존재 여부 boolean hasNextPage() : 다음 페이지의 존재 여부 boolean isLastPage() : 마지막 페이지 여부 Pageable nextPageable() : 다음 페이지 객체 Pageable previeousPageable() : 이전 페이지 객체 List getContent() : 조회된 데이터 .. 2019. 12. 19.
JPA Entity to Dto, Pageable 사용 예 JPA Entity to Dto, Pageable 사용 예 내가 자바 스프링을 제대로 배운적이 있는건 아니다. 어쩌다보니 흉내나 내게 생겼는데 년초부터 조금씩 하면서 궁금해하던 부분들이 요즘 다시 부각되고 있어 이참에 제대로 함 이해하고 넘어가자고 파고 들었는데 ... 정작 이해하기는 어렵다. 공부를 해야할 시간이 절대적으로 필요하다. 게을러 잘 안되는것도 문제다. JPA를 이용하는 것은 편리한 부분이 분명 존재한다. 다만 원리와 구조를 이해하기보다는 대체적으로 사용하는 예시를 보고 따라하는 식이다 보니 마음대로 구현하기가 쉽지 않다. 보통 스프링 개발을 할 때 Entity(table) 와 DTO를 만들어 사용하게 되고 보통 Repository를 통해 Entity를 리턴 받아 DTO로 변환해서 사용하게 .. 2019. 12. 12.
JPA를 이용한 페이징 처리 구현 예제 JPA를 이용한 페이징 처리 구현 예제 //페이징 처리 Pageable pageable = new PageRequest(0,3); //Pageable 인터페이스로 페이징 정보를 가져온다. 본체 클래스로는 PageRequest클래스가 있으며 이 클래스 생성자의 첫번째 인자는 페이지 수를, 두번째 인자는 한 //페이지가 포함하는 데이터 수를 나타냅다.(페이지 수는 0부터 시작한다.) Page page = customerRepository.findAll(pageable); 한 페이지 데이터 수 : page.getSize()현재 페이지 : page.getNumber() 전체 페이지 수 : page.getTotalPages()전체 데이터 수 : page.getTotalElements() 해당 페이지의 데이터 리스.. 2019. 4. 17.
반응형