본문 바로가기

Java107

신세계(Advice, @Order, var, MSA첫경험..!) 어제부터 첫회사에 출근하게 되었다!회사분들이 내 블로그를 잘 봤다고 하셨다..너무 부끄럽다.. 집에서 거리가 좀 있어서 매일 6시에 일어나서 출근해야한다.. 회사에서 프로젝트의 구조를 간단하게 설명을 들었다..솔직히 너무 처음보는 구조라 이해가 정말 힘들어서 아..공부를 죽어라 해야겠구나 싶었다.오늘은 이사님께서 짜신 유저쪽 코드를 보면서 처음보는것들을 찾아보면서 정리해보았다. ㅇ Adviceadvice라는 디렉토리가 따로 존재하길래 한번 보니 예외처리에관한 코드들이 있었다.찾아보니 보통 Spring MVC에서 예외 처리, 응답 데이터 가공, 또는 공통적인 로직을 처리하기 위한 클래스들을 모아 놓은 패키지로 사용된다고 한다. 여기에 해당하는 클래스들은 주로 @ControllerAdvice, @RestCo.. 2024. 9. 3.
JAVA ORM - Spring Data JPA(동적쿼리) ㅇ 동적쿼리란실행 시점에 쿼리의 내용이 동적으로 생성되는 SQL쿼리. 입력이나 특정 조건에 따라 쿼리의 일부 또는 전체가 달라지는 쿼리.String sql = "SELECT * FROM Users WHERE 1=1";if (name != null) { sql += " AND name = '" + name + "'";}if (age != null) { sql += " AND age = " + age;}위의 코드에선 name이 null이 아니고, age가 null이 아니면,최종 코드는"SELECT * FROM Users WHERE 1=1 AND name = ' ㅇㅇㅇ ' AND age = ㅇㅇ'"이렇게 작성된다. ㅇ SpringDataJpa의 동적쿼리Jpa에서 쿼리를 작성해야할땐 JPQL을 사용한.. 2024. 8. 29.
JAVA ORM - Spring Data JPA(웹 페이징,정렬) https://thcoding.tistory.com/264 JAVA ORM - Spring Data JPA(페이징, 슬라이스, countQuery)페이징(Paging)페이징은 데이터를 페이지단위로 나눠 가져오는 기술. Spring data Jpa에서는 'pageable'인터페이스와 'Page' 객체를 사용해 페이징을 처리한다.public interface UserRepository extends JpaRepository { Pagthcoding.tistory.com 저번 페이징 처리에 이어서 웹에서 편리하게 사용할 수 있도록 spring data jpa가 제공해주는 페이징,정렬방법에 대해 알아보자.1. 먼저 컨트롤러에 아래와같이 member를 100명 만들어주도록 하자.@PostConstruct p.. 2024. 8. 27.
JAVA ORM - Spring Data JPA(사용자 정의 리포지토리, Auditing의 두가지 방법) 사용자 정의 리포지토리Spring data Jpa는 사용자가 인터페이스만 정의하고 구현체는 스프링이 자동생성해줘서 편하지만, 사용자가 직접 정의해야 할 상황도 발생한다. JPA, 스프링 JDBC, MyBatis...등등 public interface CustomUserRepository { List findUsersByCustomQuery(String customParameter);}1. 이런 인터페이스를 하나 만든다. 2. 그다음 방금 만든 인터페이스를 구현할 클래스를 만들어야 하는데, 이름은 그 인터페이스이름 뒤에 'Impl'을 붙혀줘야 한다.@RequiredArgsConstructorpublic class CustomUserRepositoryImpl implements CustomUserRep.. 2024. 8. 25.