전체 글

전체 글

    미세먼지 안녕! - 17144번

    미세먼지 안녕! - 17144번

    package com.company; import java.io.*; import java.util.*; public class Main { static int[][] d = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}}; // 시계방향 static int[][] arr; static int R, C, T, refresh, answer; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); R = Inte..

    나무 재테크 - 16235번

    나무 재테크 - 16235번

    package com.company; import java.io.*; import java.util.*; public class Main { static int[][] d = {{-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1}}; static int[][] arr, winter; static int N, M, K; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.re..

    빚 - 10427번

    빚 - 10427번

    package com.company; import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = null; StringBuilder sb = new StringBuilder(); int T = Integer.parseInt(br.readLine()); for (int t = 0; t < T; t++) { st = new StringTokenizer(br.readLine()); int N = ..

    낚시왕 - 17143번

    낚시왕 - 17143번

    package com.company; import java.io.*; import java.util.*; public class Main { static int[][] d = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}}; static int[][] sharks, arr; static int R, C, M, size; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); R = Integer.parseInt(..

    스프링 데이터 JPA가 제공하는 Querydsl 기능

    목차 인터페이스 지원 - QuerydslPredicateExecutor Querydsl Web 지원 리포지토리 지원 - QuerydslRepositorySupport Querydsl 지원 클래스 직접 만들기 여기서 소개하는 기능은 제약이 커서 복잡한 실무 환경에서 사용하기에는 많이 부족하다. 그래도 스프링 데이터에서 제공하는 기능이므로 간단히 소개하고, 왜 부족한지 설명하겠다. 인터페이스 지원 - QuerydslPredicateExecutor 공식 URL: https://docs.spring.io/spring-data/jpa/docs/2.2.3.RELEASE/reference/html/#core.extensions.querydsl QuerydslPredicateExecutor 인터페이스 public in..

    소수의 연속합 - 1644번

    소수의 연속합 - 1644번

    내 코드 package com.company; import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int count = 0; ArrayList list = new ArrayList(); boolean[] visited = new boolean[N + 1]; for (int i = 2; i

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

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

    목차 스프링 데이터 JPA 리포지토리로 변경 사용자 정의 리포지토리 스프링 데이터 페이징 활용1 - Querydsl 페이징 연동 스프링 데이터 페이징 활용2 - CountQuery 최적화 스프링 데이터 페이징 활용3 - 컨트롤러 개발 스프링 데이터 JPA 리포지토리로 변경 스프링 데이터 JPA - MemberRepository 생성 package study.querydsl.repository; import org.springframework.data.jpa.repository.JpaRepository; import study.querydsl.entity.Member; import java.util.List; public interface MemberRepository extends JpaRepositor..

    순수 JPA와 Querydsl

    목차 순수 JPA 리포지토리와 Querydsl 동적 쿼리와 성능 최적화 조회 - Builder 사용 동적 쿼리와 성능 최적화 조회 - Where절 파라미터 사용 조회 API 컨트롤러 개발 순수 JPA 리포지토리와 Querydsl 순수 JPA 리포지토리 package study.querydsl.repository; import com.querydsl.jpa.impl.JPAQueryFactory; import org.springframework.stereotype.Repository; import study.querydsl.entity.Member; import javax.persistence.EntityManager; import java.util.List; import java.util.Optional;..

    중급 문법

    목차 프로젝션과 결과 반환 - 기본 프로젝션과 결과 반환 - DTO 조회 프로젝션과 결과 반환 - @QueryProjection 동적 쿼리 - BooleanBuilder 사용 동적 쿼리 - Where 다중 파라미터 사용 수정, 삭제 벌크 연산 SQL function 호출하기 프로젝션과 결과 반환 - 기본 프로젝션: select 대상 지정 프로젝션 대상이 하나 @Test public void simpleProjection(){ List fetch = queryFactory .select(member.username) .from(member) .fetch(); } 프로젝션 대상이 하나면 타입을 명확하게 지정할 수 있음 프로젝션 대상이 둘 이상이면 튜플이나 DTO로 조회 튜플 조회 프로젝션 대상이 둘 이상일 ..

    기본 문법

    목차 시작 - JPQL vs Querydsl 기본 Q-Type 활용 검색 조건 쿼리 결과 조회 정렬 페이징 집합 조인 - 기본 조인 조인 - on절 조인 - 페치 조인 서브 쿼리 Case 문 상수, 문자 더하기 시작 - JPQL vs Querydsl 테스트 기본 코드 @SpringBootTest @Transactional public class QuerydslBasicTest { @PersistenceContext EntityManager em; @BeforeEach public void before() { Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); Member me..