게시판 만들기 20

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..

3.3 DTO를 데이터베이스에 저장하기(게시판 만들기 / 길벗 코딩 자율학습단)

데이터베이스(DB, Database) => 데이터를 관리하는 창고 / 행과 열로 구성된 테이블에 저장해 관리 대표적인 DB 프로그램 => MySQL, 오라클, 마리아DB 등등 사용할 DB 프로그렘 => H2 DB DB에서 자바 언어를 이해하게 해주는 것 => JPA(Java persistence API) JPA의 핵심 도구 2가지 엔티티(entity) : 자바 객체를 DB가 이해할 수 있도록 만들어줌 / 이를 기반으로 테이블 작성 리파지터리(repository) : 엔티티가 DB 속 테이블에 저장 및 관리될 수 있게 하는 인터페이스 DTO를 데이터베이스에 저장하기(방법/과정) 1. DTO를 엔티티로 변환하기 프로젝트 아래에 엔티티를 관리하기 위한 entity패키지 만들기 새 클래서 생성(Article) ..

2.4 뷰 템플릿 페이지에 레이아웃 적용하기(게시판 만들기 / 길벗 코딩 자율학습단)

레이아웃 => 화면에 요소를 배치하는 일 헤드-푸터 레이아웃 => 상단 헤드에 사이트를 안내하는 네비게이션을 넣고 하단 푸터에 사이트 정보를 넣는 기본적인 배치 => 헤드와 푸터 사이에 핵심 내용인 콘텐트를 배치함 /hi 페이지에 헤더-푸터 레이아웃 적용하기 부트스트랩 홈페이지(https://getbootstrap.kr/) 접속하기 V5.0.2 선택 후 스타터 템플릿 복사 > greetings.mustache 파일 내용 지운 후 붙여넣기 greetings.mustache 페이지의 본문 영역을 3개의 레이아웃으로 나눠기(header 부분/ content 부분 / footer 부분) 부트스트랩 홈페이지(https://getbootstrap.kr/) 에 'navbar' 입력 후 뜨는것 선택 후 코드 복사 복사..

2.3 MVC의 역할과 실행 흐름 이해하기(게시판 만들기 / 길벗 코딩 자율학습단)

MVC의 실행흐름 => 컨트롤러가 클라이언트의 요청을 받고, 뷰가 최종 페이지를 만들고, 모델이 최종 페이지에 쓰일 데이터를 뷰에 전달 localhost:8080/hi 의 실행과정 이 파일이 컨트롤러임을 선언 클라이언트로부터 "/hi"라는 요청을 받음 "/hi"라는 요청을 받음과 동시에 niceToMeetYou()메서드를 수행 뷰 템플릿 페이지에서 사용할 변수를 등록하기 위해 모델 객체를 매개변수로 가져옴 모델에서 사용할 변수를 등록 변수값에 따라 서로 다른 뷰 템플릿 페이지가 출력 메서드 수행 결과로 greetings.mustache 파일을 변환 서버가 templates 디렉터리에 있는 해당 뷰 템플릿 페이지를 찾아 웹 브라우저로 전송 위와 같은 방법으로 " localhost:8080/bye" 작성(2..

2.2 MVC 패턴을 활용해 뷰 템플릿 페이지 만들기(게시판 만들기 / 길벗 코딩 자율학습단)

MVC 패턴을 활용해 뷰 템플릿 만드는 순서 1. Mustache 파일 만들기 2. Controller 만들고 실행하기 3. 모델 추가하기 1. Mustache 파일 만들기 src>main>resources>templates(우클릭)>New>File 후 "파일명.mustache"로 파일 만들기 Install Handlebars/Mustache plugin을 클릭해 머스테치 플러그인을 설치하기 doc를 친 후 tab키 누를 시 기본 HTML코드가 작성됨 본문()에 원하는 글 적기() 2. Controller 만들고 실행하기(Mustache에서 만든 템플릿을 보이게 하기 위함) src>main>java>프로젝트(com.example.firstproject)(우클릭)>New>package 후 패키지 만들기 패..

2.1 뷰 템플릿과 MVC 패턴(게시판 만들기 / 길벗 코딩 자율학습단)

뷰 템플릿 => ppt템플릿과 비슷함 / 웹 사이트에서 변수의 값에 따라 일정부분만 값이 달라지는 화면이 있을 경우 프론트엔드로는 각 변수에 해당하는 값을 모두 설정해주어야 하지만 뷰 템플릿을 이용하면 변수의 값만 바꿔가며 사용가능 MVC 패턴 M(Model) : 데이터를 관리하는 역할 V(View) : 웹 페이지를 보여주는 화면 C(Controller) : 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할 이렇듯 웹 화면을 보여주기 위해 역할을 나누어 관리하는 기법