자율학습단 18

9.2 SQL 쿼리 로그 확인하기(게시판 만들기 / 길벗 코딩 자율학습단)

더미 데이터와 신규 데이터의 id값이 중복되어 더미데이터를 삭제하기 전에는 신규 데이터 작성 시 오류가 발생하는 문제를 해결해 보자 1. id를 자동 생성해 주는 @GeneratedValue 어노테이션에 (strategy = GenerationType.IDENTITY)를 입력해 앞으로 데이터를 생성할 때마다 DB가 알아서 id에 1,2,3,4--- 값을 넣어주도록 설정 public class Article { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column private String title; @Column private String content; } 2. id값으 자동으로 할당하도록 했으므로 data.s..

9.1 JPA 로깅 설정하기(게시판 만들기 / 길벗 코딩 자율학습단)

쿼리 => DB레 정보를 요청하는 구문 ex) SQL 쿼리 : INSERT문, SELECT문, UPDATE문, DELETE문 resources > application.properties파일에 JPA로깅 설정 # 디버그 레벨로 SQL쿼리 출력 logging.level.org.hibernate.SQL=DEBUG # 쿼리 줄바꿈하기 spring.jpa.properties.hibernate.format_sql=true # 매개변수 값 보여 주기 logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE # DB URL 설정 # 유니크 URL 설정하지 않기 spring.datasource.generate-unique-name=false # 고정 URL ..

8.1~8.2 데이터 삭제하기(게시판 만들기 / 길벗 코딩 자율학습단)

데이터 삭제 과정 클라이언트가 HTTP 메서드로 특정 게시글의 삭제를 요청 삭제 요청을 받은 커트롤러는 리파지터리를 통해 DB에 저장된 데이터를 찾아 삭제(기존의 데이터가 있을 경우 실행) 삭제가 완료되면 클라이언트를 결과페이지로 리다이렉트 프로그램 작성 순서(데이터 삭제하기) 1. 상세페이지(show.mustache)로 가서 삭제버튼 및 연결 URL설정 Delete 2. 컨트롤러로 가서 해당 URL(삭제 링크) @GetMapping 어노테이션으로 받기 3. 리파지터리로 링크의 id값을 통해 데이터를 받아와 엔티티에 저장 4. 엔티티 값이 null이 아닐 경우 리파지터리의 .delete()메서드를 통해 엔티티값 삭제 5. 리다이렉트의 휘발성 변수를 사용하기 위해 RedirectAttributes 객체 생..

7.1~7.3 데이터 수정 과정(게시판 만들기 / 길벗 코딩 자율학습단)

데이터 수정 과정 ① 만들고 기존 데이터 불러오기 에서 [Edit]버튼을 클릭 요청받은 컨트롤러는 해당 글의 id로 DB에서 데이터를 찾아 가져옴 컨트롤러는 가져온 데이터를 뷰에서 사용할 수 있도록 모델에 등록 모델에 등록된 데이터를 에서 보여줌 사용자가 내용을 수정할 수 있는 상태가 ②데이터를 수정해 DB에 반영 후 결과를 볼 수 있게 로 리다이렉트하기 폼 데이터(수정 요청 데이터)를 DTO에 담아 컨트롤러에서 받기 DTO를 엔티티로 변환 DB에서 기존 데이터를 수정 데이터로 갱신 수정 데이터를 로 리다이렉트 프로그램 작성 순서 1. 세부데이터를 보여주는 뷰페이지(mustache)켜기 2. [Edit]버튼 생성 (누르면 수정페이지로 이동하도록 설정 / "/articles/{{article.id}}/ed..

6.1~6.2 링크와 리다이렉트를 이용해 페이지 연결하기(게시판 만들기 / 길벗 코딩 자율학습단)

링크 => 미리 정해놓은 요청을 간편히 전송하는 기능(클릭하면 원하는 주소로 이동) 리다이렉트 => 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시 하는것(a로 가는 페이지를 b로 가도록 만듦) 링크 만드는 방법 컨트롤러에서 반환하는 뷰파일 켜기(mustache) 주소가 들어가기를 원하는 위치에 "화면에 보일 문구" 입력하기 {{>layouts/header}} 제목 내용 Submit Back {{>layouts/footer}}​ 리다이렉트 컨트롤러에서 리다이렉트 할 메서드로 이동 리턴 값을 "return "redirect:URL_주소";" 로 입력하기 @PostMapping("/articles/create") public String createArticle(ArticleFor..

5.3 데이터 목록 조회하기(게시판 만들기 / 길벗 코딩 자율학습단)

테이터 목록 조회하기(모든 데이터 조회하기) URL(/articles)요청을 받기 위해 컨트롤러에 @GetMapping 어노테이션을 선언하기 메서드 생성하기(public String index()) / 데이터를 뷰페이지로 전달할 매개변수 model 생성 리스트 형의 엔티티 변수(List)를 생성하고 리파지터리에서 .findAll() 메서드를 통해 모든 데이터 받기 .findAll()메서드는 Iterable 타입으로 다운캐스팅이 필요(방법은 다음글에 설명) 다운 캐스팅을 한 후 model에 .addAttribute()메서드를 통해 데이터 등록 뷰페이지(mustache) 반환 뷰페이지 작성(단일 데이터 조회때와 동일) 그 후 프로그램 재시작 후 데이터 입력 & 조회(http://localhost:8080/a..

5.1~5.2 단일 데이터 조회하기(게시판 만들기 / 길벗 코딩 자율학습단)

데이터 조회 과정 사용자가 데이터를 조회해달라고 웹 페이지에서 URL 요청을 보냄 서버의 컨트롤러가 요청을 받아 해당 URL에서 찾으려는 데이터 정보를 리파지터리에 전달 리파지터리는 정보를 가지고 DB에 데이터 조회를 요청 DB는 해당 대이테를 찾아 이를 엔티티로 변환 반환된 엔티티는 모델을 통해 뷰 템플릿으로 전달 최종적으로 결과 뷰 페이지가 완성되어 사용자의 화면에 출력 단일 데이터 조회하기(실제 과정) URL 요청하기 (/articles/id 로 요청) 컨트롤러는 @GetMapping("/articles/{id})로 URL받기 URL의 id가 포함된 메서드 생성 메서드로 URL의 id를 매개변수로 받기 위해 매개변수 앞에 @PathVariable 어노테이션 붙이기 리파지터리에서 DB에 저장된 데이터..

4.1~4.2 롬복을 활용해 리팩터링하기(게시판 만들기 / 길벗 코딩 자율학습단)

롬복 => 코드를 간소화 해주는 라이브러리 로깅 => 롬복에 탑제된 기능 중 하나로 println보다 향상된 성능으로 유사한 기능을 함/ println + 기록(시간등) 롬복 설치하기 포로젝트 > src > build.gradle에 들어가 dependcies에 아래 두 줄 추가 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' 2. 편집기에 나타난 코끼리 모양의 새로고침 아이콘 클릭(설치시작) 3. 설치가 끝나면 help > Find Action.. > plugins 클릭 후 lombok 검색 Install 리팩터링 @AllArgsConstructor 어노테이션 => 자동으로 필드 안의 모든 매개변수를..