복습 및 이해 (12) 썸네일형 리스트형 CRUD와 SQL쿼리 종합 - (2) 1. JPA 로깅 설정JPA 동작 시 로그를 보기 위한 설정은 application.properties 파일에 작성한다. 로깅 레벨은 총 7단계 중 하나를 선택할 수 있는데, SQL로그를 보려면 DEBUG 레벨로 설정한다. SQL 쿼리에 줄바꿈을 적용해서 보려면 format_sql 옵션을 true로 설정하고, JPA 쿼리에서 DB로 넘어가는 매개변수 값을 확인하기 위해 sql의 BasicBinder를 TRACE로 설정한다.spring.application.name=firstprojectserver.servlet.encoding.force=truespring.jpa.defer-datasource-initialization=true# JPA 로깅 설정# 디버그 레벨로 쿼리 출력logging.level.org.. CRUD와 SQL쿼리 종합 - (1) application.properties - 쿼리 출력spring.application.name=firstprojectserver.servlet.encoding.force=truespring.jpa.defer-datasource-initialization=true# JPA 로깅 설정# 디버그 레벨로 쿼리 출력logging.level.org.hibernate.SQL=DEBUG application.properties - 한 줄 출력spring.application.name=firstprojectserver.servlet.encoding.force=truespring.jpa.defer-datasource-initialization=true# JPA 로깅 설정# 디버그 레벨로 쿼리 출력logging.leve.. 게시글 삭제하기 : Delete 1. 데이터 삭제 과정클라이언트가 서버로 삭제 요청을 하면 서버는 DB에서 해당 데이터를 찾아 삭제하고, 클라이언트를 리다이렉트된 페이지로 보낸다. 2. RedirectAttribute리다이렉트 페이지에서 사용할 일회성 데이터를 관리하는 객체이다. 이 객체의 addFlashAttribute() 라는 메서드로 리다이렉트된 페이지에서 사용할 일회성 데이터를 등록할 수 있다. 3. articleRopository.delete()DB에 접근해 데이터를 삭제할 때 사용하는 메서드이다. articleRepository.delete(target) 이라고 작성하면 DB에서 target을 삭제한다. 4. DELETE 문DB 테이블에 저장된 내용을 행 단위로 삭제할 때 사용하는 SQL 문으로, 형식은 다음과 같다.형식DE.. 게시글 수정하기 : Update 1. 데이터 수정 1단계수정 페이지를 만들고 기존 데이터를 불러온다. 2. 데이터 수정 2단계데이터를 수정해 DB에 반영한 후 결과를 볼 수 있게 상세 페이지로 리다이렉트한다. 3. HTTP 메서드HTTP는 클라이언트의 다양한 요청을 메서드를 통해 서버로 보내는 역할을 한다. 대표적인 메서드로는 POST, GET, PATCH(PUT), DELETE 가 있다.POST : 데이터 생성 요청GET : 데이터 조회 요청PATCH(PUT) : 데이터 수정 요청DELETE : 데이터 삭제 요청4. UPDATE 문데이터를 수정할 때 사용하는 SQL 문으로, 형식은 다음과 같다.형식UPDATE 테이블명 SET 속성명=변경할값 WHERE 조건; ArticleControllerpackage com.example.firs.. 게시판 내 페이지 이동하기 1. 링크미리 정해 놓은 요청을 간편히 전송하는 기능으로 보통 페이지 이동을 위해 사용한다.HTML의 태그 혹은 태그로 작성클라이언트가 링크를 통해 어느 페이지로 이동하겠다고 요청하면 서버가 결과 페이지 응답2. 리다이렉트클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 것이다.분리된 기능을 하나의 연속적인 흐름으로 연결할 수 있음리다이렉트(재지시)를 받은 클라이언트는 해당 주소로 다시 요청을 보내고, 서버는 이에 대한 결과를 응답3. 뷰 파일에 링크 걸기 태그를 이용해 다음과 같은 형식으로 작성한다.형식링크를 걸 대상 4. 리다이렉트 정의하기return 문을 사용해 다음과 같은 형식으로 작성한다.형식return "redirect:url_주소"; index.mustach.. 게시글 읽기 : Read 1. 데이터 조회 과정웹 페이지에서 게시글을 등록하면 서버를 통해 DB에 저장된다. DB에 저장된 데이터는 다음과 같은 과정을 거쳐 웹 페이지에서 조회할 수 있다.① 사용자가 웹 페이지에서 데이터를 조회해 달라고 URL 요청을 보낸다.② 서버의 컨트롤러가 이 요청을 받아 해당 URL을 찾으려는 데이터 정보(여기서는 id)를 레파지토리에 전달한다.③ 레파지토리는 정보(id)를 가지고 DB에 데이터 조회를 요청한다.④ DB는 해당 데이터를 찾아 이를 엔티티로 반환한다.⑤ 반환된 엔티티는 모델을 통해 뷰 템플릿으로 전달된다.⑥ 최종적으로 결과 뷰 페이지가 완성돼 사용자 화면에 출력된다. 2. @PathVariableURL 요청으로 들어온 전달값을 컨트롤러의 매개변수로 가져오는 어노테이션이다. 3. findBy.. 롬복과 리팩토링 1. 롬복코드를 간소화해 주는 라이브러리이다. 롬복을 사용하면 여러 필수 코드가 반복되는 것을 최소화할 수 있고 println() 문을 로깅 기능으로 대체할 수 있다. 2. 로깅프로그램의 수행 과정을 기록으로 남기는 것을 말한다. 일종의 자동차 블랙박스와 같다. 3. 리팩토링코드의 기능에는 변함이 없이 코드의 구조 또는 성능을 개선하는 작업을 말한다. 리팩토링하면 코드의 가독성이 좋아지고 길이도 짧아져서 개발 시간을 단축할 수 있다. 4. @AllArgsConstructor클래스 안쪽의 모든 필드를 매개변수로 하는 생성자를 만드는 어노테이션으로, 이를 사용하면 클래스 내에 별도의 생성자를 만들지 않아도 된다. 5. @ToStringtoString() 메서드를 사용한 것과 똑같은 효과를 낸다. 별도의 to.. 게시판 만들고 새 글 작성하기 : Create 1. 폼 데이터와 태그폼 데이터는 태그에 실려 전송하는 데이터를 말한다. 태그에는 전송할 데이터를 어디에 어떻게 보낼지도 설정하는데, 어디에 보낼지는 action 속성으로, 어떻게 보낼지는 method 속성으로 설정한다. 2. DTO폼 데이터에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받는데, 이 객체를 DTO(Data Transfer Object)라고 한다. DTO로 받은 데이터는 최종적으로 데이터베이스(DB, DataBase)에 저장된다. 3. 폼 데이터를 DTO로 받는 과정[클라이언트]① 뷰 페이지 만들기[서버]② 컨트롤러 만들기③ DTO 만들기④ 폼 데이터를 전송 받아 DTO 객체에 담기 4. 데이터베이스데이터를 관리하는 창소로 줄여서 DB라고 한다. DB의 모든 데이터는 행과 열로.. 이전 1 2 다음 목록 더보기