목록STUDY (31)
Developer N
WHERE 1=1은 조건문에서 항상 참을 의미한다. AND 조건을 자유자재로 넣고 빼기 위해 사용한다. 간단한 예제를 통해 살펴보자. SELECT * FROM User WHERE userName LIKE '김%' AND userRole = 1; 위 쿼리문의 두가지 조건 중 userName LIKE '김%' 조건을 주석처리하고자 할 때 SELECT * FROM User -- WHERE userName LIKE '김%' AND userRole = 1; 위와 같이 WHERE 명령어까지 주석처리하면 오류가 발생한다. SELECT * FROM User -- WHERE userName LIKE '김%' WHERE userRole = 1; 그렇다면 위의 쿼리문처럼 원하는 조건을 주석 처리하고 AND를 WHERE로 바..
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 꼭 선언할 필요 없음. ..