페이징 4

Chapter 05. 실무 활용 - 스프링 데이터 JPA와 Querydsl

Spring Data JPA repository 로 변경 Repository @Repository public interface MemberRepository extends JpaRepository { List findByUsername(String username); } test querydsl의 전용 기능인 search를 작성할 수 없다. 따라서 사용자 정의 리포지토리가 필요하다. @Test public void basicTest(){ Member member = new Member("member1", 10); memberRepository.save(member); Member findMember = memberRepository.findById(member.getId()).get(); assertT..

[04월 1주차] 페이징(Paging), QueryDSL, LocalDate와 String 변환 방법

Query DSL Ex) 여러 개의 검색 필드(모델 ID, 모델명, 등)를 입력 받아서 해당 조건을 만족하는 엔티티를 불러오려고 한다. 그런데 검색의 특성상 콤보 박스에서 선택(null) 상태로 두고 검색 버튼을 누르는 경우가 있다. 그런 경우에는 해당 조건에 상관없이 모든 데이터를 보여주려고 한다. 예를 들어, 검색 필드 중에서 "모델 유형" 필드가 있을 때, 여기를 비운 상태로 검색을 누르면 모든 모델 유형에 대한 데이터를 가져오려고한다. @Generated("com.querydsl.codegen.EntitySerializer") public class QModel extends EntityPathBase { private static final long serialVersionUID = 161222..

Chapter 10. 객체지향 쿼리 언어1 - 기본 문법

10.0 intro JPA가 지원하는 다양한 쿼리 방법 JPQL(Java Persistence Query Language) JPA Criteria(객체 지향 쿼리 빌더): Java 코드를 짜서 JPQL을 빌드해주는 모음 (JPQL의 작성을 도와주는 빌더 클래스이다.) 기본으로 JPQL을 쓰고 안 되는 경우에 네이티브 SQL 사용 QueryDSL 네이티브 SQL 쿼리를 Java 코드로 작성할 수 있도록 도와주는 기술이다. JDBC API 직접 사용, MyBatis, SpringJdbcTemplate을 함께 쓴다. JPQL - 객체 지향 SQL 가장 단순한 조회 방법 EntityManager.find() 객체 그래프 탐색(a.getB().getC()) JPA를 사용하면 엔티티 중심으로 개발한다. 문제는 검색..

Chapter 10. 회원 목록

10.1 회원 목록 구현 Ex) 관리자 페이지에서 회원 목록 구현하기 - list 파일 - 리스트 만들고 스타일을 적용한다. - style: border-collapse: collapse (테이블 간격 없애기) - 예를 들어, 테이블 안에 아래와 같은 방식으로 회원 데이터를 넣을 예정이다. (jpa로 가져오고 MyBatis를 이용할 것이다.) 관리자 회원 관리 관리자 메인 | 회원 관리 | 카테고리 관리 | 강의 관리 | 로그 아웃 No 아이디(이메일) 이름 연락처 이메일 인증 여부 가입일 관리자 여부 1 goran@kakao.com ran 010-0000-9999 y 2022.08.20 Y Note) 실행 결과 Ex) MemberService에 메서드 추가 /** * 회원 목록을 가져온다. - 관리자에..