벌크성 수정 쿼리
·
BackEnd/스프링 데이터 JPA
벌크성 수정 쿼리는 모든 지원의 연봉을 10%인상 하라는 것 처럼 한번에 모든 데이터를 관리할 때 사용한다. 순수 JPA public int bulkAgePlus(int age){ int resultCount = em.createQuery( "update Member m set m.age = m.age + 1" + " where m.age >= :age") .setParameter("age", age) .executeUpdate(); return resultCount; } 이 조건을 만족하는 데이터들은 모두 update한다. 스프링 데이터 JPA @Modifying @Query("update Member m set m.age = m.age + 1 where m.age >= :age") int bulkAg..
사탕 가게(백준_4781)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/4781 4781번: 사탕 가게 각 테스트 케이스의 첫째 줄에는 가게에 있는 사탕 종류의 수 n과 상근이가 가지고 있는 돈의 양 m이 주어진다. (1 ≤ n ≤ 5,000, 0.01 ≤ m ≤ 100.00) m은 항상 소수점 둘째자리까지 주어진다. 다음 n개 www.acmicpc.net 문제 설명 상근이가 가지고 있는 돈으로 사탕을 살 때, 칼로리를 최대로 만들어라! 사탕은 쪼갤 수 없기 때문에, 일부만 구매할 수 없다. 사탕은 원하는 만큼 구매할 수 있도록 충분히 주어진다. 돈의 양이 소수점 둘째 자리로 주어진다. 문제에 대한 아이디어 다이나믹 프로그래밍 문제로 아주 유명한 배낭 문제와 비슷해 보인다. 사탕을 원하는 만큼 구매할 수 있다는 부분에..
SQL 고득점 Kit2
·
BackEnd/MySQL 문제 풀기
경기도에 위치한 식품창고 목록 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/131114 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, if(FREEZER_YN is null, 'N', FREEZER_YN) as FREEZER_YN from FOOD_WAREHOUSE where substring_index(ADDRESS, ' ', 1) = '경기도' order by WAREHOUSE_ID asc 왼쪽에서 문자..
합이 0인 네 정수(백준_7453번)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/7453 7453번: 합이 0인 네 정수 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. www.acmicpc.net 문제 설명 입력값 4 -5 1 -3 2 -9 5 -8 7 2 2 -11 -6 3 7 4 -1 A, B, C, D중 하나씩 골라서 총 합이 0이 되는 조합의 수를 구하여라!! 문제에 대한 아이디어 및 구현 시간제한과 메모리 시간제한이 12초 메모리 제한이 1024MB라는 점에서 처음에는 어떻게든 답을 구하면 되겠다고 생각했다. 근데 생각해보니 A B C D의 갯수의 최대가 4000..
JPA 페이징 처리
·
BackEnd/스프링 데이터 JPA
순수 JPA 페이징과 정렬 다음 조건으로 페이징과 정렬을 사용하는 예제 코드를 생성해보자. 검색 조건: 나이가 10살 정렬 조건: 이름으로 내림차순 페이징 조건: 첫 번째 페이지, 페이지당 보여줄 데이터는 3건 JPA 페이징 리포지토리 코드 public List findByPage(int age, int offset, int limit){ return em.createQuery("select m from Member m where m.age =:age order by m.username desc") .setParameter("age", age) .setFirstResult(offset) .setMaxResults(limit) .getResultList(); } public long totalCount(i..
쿼리 메소드 기능
·
BackEnd/스프링 데이터 JPA
쿼리 메소드 기능 메소드 이름으로 쿼리 생성 메소드 이름으로 JPA NamedQuery 호출 @Query 어노테이션을 사용해서 리파지토리 인터페이스에 쿼리 직접 정의 메소드 이름으로 쿼리 생성 List findByUsernameAndAgeGreaterThan(String username, int age); Spring Data Jpa가 메소드 이름만으로 원하는 것을 구현해준다. 이름과 나이를 가지고 age 보다 큰 이름들을 알고 싶다면 위 코드처럼 findByUsername (username으로 찾을거에요), And, AgeGreaterThan(int age) 이런 식으로 생각해 원하는 값을 출력해준다. 스프링 데이터 JPA가 제공하는 쿼리 메소드 기능 조회: find…By ,read…By ,query…..