목록STUDY (30)
Developer N
Pagination 많은 글을 페이지를 나눠 쪽수별로 제공 정렬방식, 우선순위, 몇번째 페이지, 페이지 크기등 요청에 따라 정보 전달 Pageable JPA에서 Pagination을 편하게 사용할 수 있도록 만든 객체 ‘page=3&size=10&sort=id,DESC’ 형식의 QueryParameter를 추가로 요청시 쉽게 원하는 형식의 데이터 얻을 수 있음 @PageDefault 어노테이션 기존의 Pageable 객체 앞에 @PageDefault 어노테이션을 붙여주고 괄호 안에 기본값 설정 진행 DefaultPage vs FallbackPage DefaultPage 개발자가 정한 기본 Page의 형식. 별도로 어노테이션(@PageDefault)을 통해 설정해주지 않으면 FallbackPage의 설정으..
ResponseEntity란? HttpEntity를 상속받아 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스 사용자의 HttpRequest에 대한 응답 데이터가 포함됨 에러 코드와 같은 HTTP 상태 코드를 전송하고 싶은 데이터와 함께 전송할 수 있다. 따라서 좀더 세밀한 제어가 필요한 경우 사용하는 편 빌더 형식과 객체 생성 둘다 사용 가능 ResponseEntity 구조 HttpStatus HttpHeaders HttpBody ResponseEntity 메서드 및 HTTP toString() status, body, headers 순으로 출력 ResponseEntity.ok().build() 200 OK status 코드를 반환하는 빌더 메서드 body를 넣을수도 있고 안넣을 수도 있..
마이바티스(MyBatis)란? 자바 객체와 SQL문 사이를 자동으로 매핑해주는 ORM(Object Relation Mapping) 프레임워크 SQL 파일을 별도로 분리하여 관리 가능하며, 객체와 SQL 사이의 파라미터를 자동으로 매핑해주기 때문에 편리 SQL 쿼리문을 그대로 사용하며 도메인 객체나 VO 객체 중심으로 개발 가능 특징 JDBC의 기능을 대부분 제공 (자동으로 제공하므로 깔끔한 코드 유지 가능) SQL문과 프로그래밍 코드 분리 가능 SQL 쿼리를 변경할 때마다 자바 코드를 수정하거나 따로 컴파일할 필요X SQL 작성과 관리 분담 가능 다양한 프로그래밍 언어 사용 가능 (Java, C#, .NET, Ruby) Mapper XML File MaBatis Mapper XML (SQL Mapping..
JPA 개념은 아래 더보기 참고 더보기 https://developernh.tistory.com/1 1. Entity 클래스 생성 (@Entity 사용) 데이터베이스에 저장하기 위해 유저가 정의한 클래스 (Domain) RDBMS에서 Table을 객체화시킨 것. 따라서 Table의 이름이나 칼럼들에 대한 정보를 가짐. @Entity로 선언된 클래스의 이름은 실제 데이터베이스의 테이블명과 일치하는 것을 매핑 어노테이션 @Id Primary Key를 가지는 변수를 선언한다는 의미. @GeneratedValue 어노테이션으로 해당 Id값을 어떻게 자동으로 생성할지 선택 가능 @Table 별도의 이름을 가진 데이터베이스 테이블과 매핑할때 사용 @Table(name=" ") @Column 꼭 선언할 필요 없음. ..
JPA (Java Persistence API) 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음 구현된 클래스와 매핑해주기 위해 사용되는 프레임워크 대표적 오픈소스로는 Hibernate가 있다. JPA를 사용하는 이유 SQL 중심 개발이 아닌 객체 중심 개발 생산성 자바 컬렉션에 객체를 저장하듯 JPA에 저장할 객체를 전달 지루하고 반복적인 CRUD SQL을 대신 처리 DDL문 자동 생성 유지보수 엔티티에 필드 추가시 등록, 수정, 조회 관련 코드 변경 처리를 JPA가 대신 처리 패러다임 불일치 해결 상속, 연관관계, 객체 그래프 탐색, 비교하기 같은 패러다임 불일치 해결 다양한 성능 최적화 기회 제공 데이터 접근 추상화와 벤더 독립성 데이터..