JPA의 동작 @Entity: JPA가 관리할 객체 @Id: 데이터베이스 PK와 매칭 회원 등록, 수정 , 삭제, 수정 ,단건 조회 기능 JPQL JPA를 사용하면 엔터티 객체를 중심으로 개발 검색을 할 때도 테이블이 아닌 엔터티 객체를 대상으로 검색 모든 데이터
Querydsl을 사용하려면 JpaQueryFactory가 필요하다이때 JpaQueryFaactory믐 Jpa 쿼리인 JPQL을 만들기 때문에 EntityManager가 필요JpaQueryFactory를 빈으로 등록해서 사용 가능findAll()QueryDsl에서 wh
스프링 데이터 JPA 주요기능공통 인터페이스 기능JpaRepository 인터페이스를 통해 기본적인 CRUD 기능 제공공통화 가능한 기능이 거의 모두 포함쿼리 메서드 기능JPARepository 사용법JpaRepository 인터페이스를 인터페이스 상속 받고, 제네릭에
JPA는 ORM 데이터 접근 기술을 제공 JPA 설정 spring-boot-starter-data-jpa 라이브러리를 사용하면 JPA와 스프링 데이터 JPA를 스프링 부트와 통합하고 설정도 간단히 할 수 있다 application.properties다음과 같이 로드를
데이터베이스 연동\_ main_application.properties데이터베이스 연동\_test_application.properties@SpringbootTest@SpringbootTest은 @SpringbootApplication을 찾아서 설정으로 사용테스트와
적용 데이터 접근 기술Jdbc TemplateMyBatisJPa, Hibernate스프링 데이터 JpaQuerydslSQL MapperJdbc TemplateMyBatisORM 관련 기술Jpa, Hibernate스프링 데이터 JPAQueryDslSqL Mapper 주요
체크예외와 인터페이스 서비스 계층은 가급적 특정 구현 기술에 의존하지 않고 순수하게 유지하는 것이 좋다. 예를 들어서 서비스가 처리할 수 없는 SQlException에 대한 의존을 제거하려면 어떻게 해야할까? 서비스가 처리할 수 없으므로 리포지토리가 던지는 체크예외
Object: 예외도 객체이다. 머든 객체의 최상위 부모가 Object이므로 예외의 최상위 부모도Object이다Throwable: 최상위 예외이다. 하위에 Exception,Error가 있다Error: 메모리 부족이나 심각한 시스템 오류와 같이 에플리케이션에서 복구
에플리케이션 구조가장 많이 사용하는 것은 역할에 따라 3가지 계층으로 나누는 것이다프리잰테이션UI와 관련된 처리 담당웹 요청과 응답사용자 요청을 검증서비스 계층비즈니스 로직을 담당데이터 접근 계층실제 데이터베이스에 접근하는 코드여기서 가장 중요한 것은 비즈니스 로직이
데이터를 저장할 때 단순히 파일에 저장해도 되는데 데이터베이스에 저장하는 이유는 무엇일까여러가지 이유가 있지만 가장 대표적인 이유는 바로 데이터베이스는 트랜잭션이라는 개념을 지원하기 때문이다트랜잭션은 거래라는 뜻으로 , 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게
데이터베이스 커넥션을 매번 획득에플리케이션 로직은 DB드라이버를 통해 커넥션을 조회한다DB 드라이버는 DB와 TCP/IP 커넥션을 연결한다. 물론 이과정에서 3 way handshake 같은 TCP/IP연결을 위한 네트워크 동작이 발생한다DB 드라이버는 TCP/IP 커
에플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관한다.클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면 애플리케이션 서버는 다음 과정을 통해서 데이터베이스를 사용한다.일반적인 사용법커넥션 연결: 주로 TCP/IP를 사용해서 커넥션을 연
파일 업로드란?HTML 폼 전송 방식application/x-www-form-urllencodedmultipart/form-dataapplication/x-www-form-urllencoded 방식은 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다. For
문자를 숫자로 변환하거나 숫자를 문자로 변환해야하는 것처럼 애플리케이션을 개발하다 보면 타입을 변환해야 하는 경우가 많다.타입변경의 예시String data = request.getParameter("data")HTTP 요청 파라미터는 모두 문자로 처리된다. 따라서 요
HTML같은 경우는 오류페이지만 있으면 대부분의 문제를 해결할 수 있다. 그런데 오류페이지는 단순히 화면을 보여주고 끝이지만 API는 각 상황에 맞는 오류 응답 스펙을 정하고 JSON으로 데이터를 내려줘야한다.단순히 회원을 조회하는 기능을 하나 만들었다. 예외 테스트를
자바 직접 실행 자바의 메인 메서드를 직접 실행하는 경우 main이라는 이름의 스레드가 실행된다. 실행 도중에 예외를 잡지 못하고 처음 실행한 main() 메서드를 넘어서 예외가 던져지면 해당 예외 정보를 남기고 해당 스레드는 종료된다.웹 에플리케이션웹 어플리케이
필터의 흐름필터를 적용하면 필터가 호출된 다음에 서블릿이 호출된다. 그래서 모든 요청 로그를 남기는 요구사항이 있으면 필터를 사용하면 된다. 필터의 제한필터에서 적절하지 않다고 판단하면 끝날수 있어서 로그인 여부를 체크하기에 좋다.필터 인터페이스init(): 필터 초가