SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY ANIMAL_ID;
동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty
인 동물의 이름이 포함된 것을 조회하는 경우,
SQL의 IN을 사용해서 특정 이름값만 조회하도록 한다.
WHERE 컬럼명 IN('값1', '값2', ...)
이런 식으로 활용한다.
해당 문제에서 해당하지 않지만, 특정 값이 아닌 경우에는 NOT IN('값1', '값2', ...)
식으로도 활용이 가능하다.
SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE)+1), 1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVERAGE_DURATION >= 7
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC
CAR_RENTAL_COMPANY_RENTAL_HISTORY
테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명 : AVERAGE_DURATION
) 리스트를 출력하는 SQL문을 작성하는 문제였다.
평균 대여 기간은 소수점 두 번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬하고,
평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬한다.
이 글의 코드와 정보들은 [실전! 스프링 부트와 JPA 활용 1] 강의를 들으며 정리한 내용을 토대로 작성하였습니다..
이 글의 코드와 정보들은 [실전! 스프링 부트와 JPA 활용 1] 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
H2
DB를 사용하는 이유 : 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공하기 때문.
[1] H2 데이터베이스 1.4.199 다운로드를 받은 후, 압축을 푼다. (압축푼 폴더명 : h2)
[2] 터미널을 열고 해당 폴더(h2) -> bin으로 이동한다.(cd bin) -> ll
로 h2.sh가 있는지 확인한다.
[3] cat h2.sh
-> java 언어이기 때문에 java 언어로 미리 다운받아있어야 한다.
사전에 brew + java11이 설치되어 있어야 한다.
[3-1] adoptopenjdk/openjdk 추가 : brew tap adoptopenjdk/openjdk
[3-2] 설치 가능한 모든 JDK 찾기 : brew search jdk
[3-3] java 11버전 설치 : brew install --cask adoptopenjdk11
[3-4] 자바가 설치된 곳 확인 : /usr/libexec/java_home -V
[3-5] 자바 버전 확인 : java --version
[4] 실행 : ./h2
-> [5], [6]
만약 -bash: ./h2.sh: Permission denied
문제가 발생하는 경우, chmod 755 h2.sh
입력후 엔터친 다음에 다시 ./h2.sh
를 입력한다.
cf) 실행 취소 명령어 : control + c
[5] DB 파일 생성 방법 : 세션키 유지한 상태로, JDBC URL에 해당 jdbc:h2:~/jpashop
입력후 연결
버튼을 클릭한다. 그러면 /jpashop이라는 DB 파일이 생성된다.
jdbc:h2:tcp://localhost/~/jpashop
입력후 연결
버튼을 클릭한다.Live Template
기능을 적용시켜서 코드의 가독성을 높여보자.@RunWith(SpringRunner.class)
@SpringBootTest
public class MemberRepositoryTest {
@Autowired MemberRepository memberRepository;
}
기존 코드에서 @Test 와 같이 테스트코드의 형식은 똑같은 경우가 많다.
해당 테스트코드를 Live Template 기능을 적용시켜보자.
위측 상단의 IntelliJ IDEA -> Settings -> Live Template
custom
아래에 tdd라는 이름을 추가하기 위해 오른쪽에 +
버튼을 클릭하고, Abbreviation
부분에 tdd를 입력한다.
Description
부분에는 tdd에 대한 설명을 입력하면 된다.(나는 설명이 필요없기 때문에, tdd로 했다)그리고 아래의 Template text
부분에 반복적으로 작성할 코드를 입력한다.
입력을 다한 이후에 Apply -> Ok 버튼을 클릭한다.
해당 코드로 넘어와서 tdd 를 입력하고 Tap 키를 누르면, 아래와 같이 Live Template 기능이 적용된 것을 확인할 수 있다.
@RunWith(SpringRunner.class)
@SpringBootTest
public class MemberRepositoryTest {
@Autowired MemberRepository memberRepository;
@Test
public void testMember() throws Exception {
//given
//when
//then
}
}