[TIL] 오늘 검색한 것 2022-11-01
1. 래퍼함수를 사용하면 좋은 점 중 한개
public void clearStore() {
store.clear();
}
private Map<Long, Member> store = new HashMap<>();
- clearStore 메서드와 store.clear()메서드는 는위처럼 이름도 하는 일도 거의 동일하지만, 이렇게 래핑해서 사용면 좀 더 의도를 명확히 할 수 있고, getter로 store를 사용해서 생길 수 있는 변경에 대한 문제도 막을 수 있고 store.clear()를 그대로 사용하면 store는 맵 자료형인데 이 맵이 지원하는 부가적인 기능까지 변경될 수 있어서 좋지 않다.
2. html에서 textarea는 값을 value에 적어야 하는 것이 아니라 innerText, 즉 <textarea>내용</textarea> 이렇게 태그와 태그 사이에 적어야 한다.
3.Spring JPA에서 JPQL을 이용한 native query 사용법 https://jforj.tistory.com/90 참고
[JPA] @Query, 직접 쿼리 작성
안녕하세요. J4J입니다. 이번 포스팅은 JPA에서 직접 쿼리를 작성할 수 있게 해주는 @Query에 대해 적어보는 시간을 가져보려고 합니다. JPQL JPA가 쿼리를 자동으로 생성해주지만 상황에 따라 직접
jforj.tistory.com
@Query(value = "select count(room_num) from member m inner join reservation r where r.reserve_type = 'orderDetail' and m.member_num = r.member_num and m.member_num = :#{#memberNum} " +
"and room_num = :#{#roomNum} and reserve_use_end_date <= now() and reserve_use_end_date > date_add(now(), INTERVAL -14 DAY) and is_review_writed = '작성 전' group by room_num;", nativeQuery = true)
Optional<Long> withinTwoWeeks(@Param(value = "memberNum") Long memberNum, @Param(value = "roomNum") Long roomNum);
@Query(value = "select r.reserve_num from member m inner join reservation r where r.reserve_type = 'orderDetail' and m.member_num = r.member_num and m.member_num = :#{#memberNum} " +
"and room_num = :#{#roomNum} and reserve_use_end_date <= now() and reserve_use_end_date > date_add(now(), INTERVAL -14 DAY) and is_review_writed = '작성 전' group by room_num;", nativeQuery = true)
List<Long> writeableOrdersDetail(@Param(value = "memberNum") Long memberNum, @Param(value = "roomNum") Long roomNum);
@Query(value = "select count(m.member_num) from member m inner join reservation r where m.member_num = r.member_num and r.reserve_type = 'orderDetail' and m.member_num = :#{#memberNum} and r.room_num = :#{#roomNum}", nativeQuery = true)
Optional<Long> checkReserve(@Param(value = "memberNum") Long memberNum, @Param(value = "roomNum") Long roomNum);
참고한 블로그를 토대로 내가 사용한 쿼리이다. nativeQuery로 사용한 이유는 장문의 쿼리는 한방에 짜는 건 아직 숙달이 안되어서 sql로 직접 실행해보면서 짜는데 이때 쿼리를 직접 날리면서 사용하는데 이걸 굳이 변경할 이유를 아직은 못찾아서이다.
4. MySQL 날짜 비교 및차이구하 https://codingspooning.tistory.com/entry/MySQL-날짜-비교-및-차이-구하기
[MySQL] 날짜 비교 및 차이 구하기
안녕하세요. 오늘은 MySQL에서 날짜 형식의 값을 비교하고 계산하는 방법에 대해 알아보겠습니다. 날짜 차이 구하기 ▣ 날짜 차이 함수 함수 내용 DATEDIFF(날짜1, 날짜2) 날짜1 - 날짜2 차이를 일수로
codingspooning.tistory.com
바로 위 3번 쿼리에서 사용한 것이다. 리뷰 작성 조건 중 하나가 이용마지막 날을 기준으로 14일 이내에 작성이 가능하기 때문에 준 조건이 아래 문법이다. -14부분을 바꾸면 된다. 3일을 더하고 싶으면 3 DAY 30일을 빼고 싶으면 -30 DAY.
date_add(now(), INTERVAL -14 DAY)