java 12

학원 프로젝트 시작 (Spring 활용 기반)

어느새 4개월차 수업에 접어들었고 첫 프로젝트를 시작하게 되었다 일단 나같은경우는 팀프로젝트가 아닌 개인프로젝트를 진행하기로 하였다 학원 수업같은경우는 Spring 을 기본으로 진행이되었고 빌드툴은 Maven 으로 진행되었다 프로젝트 시작전 개인프로젝트로 진행하길 희망하는사람 조사를해서 나같은경우는 비대면으로 수업을 받고있기도 하고 새로운툴을 이용해보고싶은 생각도 있어 개인프로젝트로 진행하겠다고 이야기 했다. 어차피 공부하는 기간이고 내가 구현한 모든 기능들이 포트폴리오로 사용될 것 이기때문에 남들에게 얽매이고싶지 않았고 SpringBoot 나 Gradle 같은 수업에서는 진행하지 않은 내용으로 만들고싶었다 (사실 개인 공부하다보니 이게 더 편했음) Spring 을 사용해보고 SpringBoot 를 사용..

Project 2023.06.01

SpringBoot 공부 - CRUD ( Delete )

데이터 삭제버튼 추가 삭제버튼은 상세페이지에 추가하겠다 (show.mustache) 삭제 수정버튼 옆에 빨간버튼으로 추가했다 컨트롤러 수정 delete() 메서드를 추가해준다 @GetMapping("/articles/{id}/delete") public String delete(@PathVariable Long id){ //1.삭제할 대상 가져오기 Article target = articleRepository.findById(id).orElse(null); //2.대상 엔티티 삭제하기 if (target!=null){ //삭제할 대상이 있는지 확인 articleRepository.delete(target); //delete() 메서드로 대상 삭제 } //3. 결과 페이지로 리다이렉트 하기 return "..

Java 2023.04.28

SpringBoot 공부 - CRUD(Update)

상세페이지 에 수정 링크 걸기 show.mustache 에 a태그로 링크를 걸어줌 수정 class="btn btn-primary"추가해서 버튼도 만들어줬다 수정 버튼 동작 컨트롤러 만들기 ArticleController.java 에 edit() 메서드 추가 @GetMapping("/articles/{id}/edit") public String edit(@PathVariable Long id , Model model){ //id를 매개변수로 받아오기 , 모델등록 Article articleEntity = articleRepository.findById(id).orElse(null); //DB에서 수정할 데이터 가져오기 model.addAttribute("article",articleEntity); // a..

Java 2023.04.27

SpringBoot 공부 - 게시판 내 페이지 이동

새 글 작성 링크 만들기 기존 articles/new 로 접속해야 가능했던 새글작성 기능을 a 태그 이용하여 코드를 추가해줌 (index.mustache) 새글 작성 눌렀을때 글 목록으로 다시 돌아올수 있어야 하기에 new.mustache 에서도 /articles 로 돌아오는 링크를 만들어준다 글 목록 글작성후 상세페이지로 이동하기 글 작성후 submit 을 누르면 DB 에 저장은 되지만 Whitelabel Error Page 가 뜬다 에러페이지 대신 글 작성을 확인하기 위해 리다이렉트를 적용한다 ArticleController 에서 create 부분에 리턴값이 공백인것을 retur "redirect:URL 주소" 로 변경 return "redirect:/articles/"+saved.getId(); 작..

Java 2023.04.27

SpringBoot 공부 - CRUD (Read - 2)

게시글 전체목록조회 ArticleController 셋팅 로컬호스트/articles 페이지를 요청했을때 모든 목록 불러오는것으로 셋팅 컨트롤러에서 코드 추가 @GetMapping("/articles") public String index(){ return ""; } ArticleRepository 인터페이스 -> findAll() 을 @override 해서 Iterable 을 ArrayList 로 재정의 index() 메서드 작성 1. 모든 데이터 가져오기 ArrayList articleEntityList = articleRepository.findAll(); 2. 모델에 데이터 등록하기 index(Model model) < model 객체 받아오기 model.addAttribute("articleLis..

Java 2023.04.26

SpringBoot 공부 - CRUD (Read - 1)

URL 맵핑 localhost:8080/articles/ {id} 로 조회가 가능하게 컨트롤러 코드 추가 서버를 실행시며 /articles/ id 를 넣으면 콘솔에 정상적으로 찍힌다 id 조회해 데이터 가져오기 @GetMapping("/articles/{id}") public String show(@PathVariable Long id){ log.info("id = " +id); //1. id를 조회해 데이터 가져오기 Article articleEntity = articleRepository.findById(id).orElse(null); //추가 //2. 모델에 데이터 등록하기 //3. 뷰페이지 반환하기 return ""; } 모델에 데이터 등록하기 @GetMapping("/articles/{id}")..

Java 2023.04.25

SpringBoot 공부 - DB 조회하기

H2 DB 접속 처음에 프로젝트 생성할때 추가한 H2 DB 에 접속하기 위한 기본설정 application.properties 에 코드 한줄 추가 spring.h2.console.enabled=true 서버 재시작하고 http://localhost:8080/h2-console/ 접속 Run 콘솔에서 ctrl+f 눌러 jdbc: 검색 하면 이 부분이 있는데 복사해서 JDBC URL 에 붙여넣기후 connect 하면 db 접속이 된다 왼쪽에 ARTICLE 테이블 클릭후 run 해보면 테이블 내용 나옴 /article/new 에서 제목 , 내용 작성후 다시 run 해보면 정상적으로 테이블에 저장되었다 SQL 문으로 레코드 삽입하기 INSERT INTO article(id,title,content) VALUES..

Java 2023.04.25

SpringBoot 공부 - DTO -> DB

DTO 를 엔티티 로 변환 엔티티 : DB가 자바를 이해할수있게 만드는것 , 테이블 생성 레파지토리:DB를 저장및 관리 공간 ArticleController 에 코드 추가 public String createArticle(ArticleForm form){ System.out.println(form.toString()); //1.DTO를 엔티티로 변환 Article article = form.toEntity(); //2.리파지터리로 엔티티를 DB에 저장 return ""; } entity 패키지 -> Article 클래스 생성 Article 클래스 코드 수정 package com.example.firstproject.entity; import jakarta.persistence.Column; import ..

Java 2023.04.25

SpringBoot 공부 - DTO

DTO 만들기 com.example -> dto 패키지 생성 - > ArticleForm 클래스 생성 (DTO) package com.example.dto; public class ArticleForm { private String title; // 제목을 받을 필드 private String content; // 내용을 받을 필드 } 코드에디터 마우스 우클릭 -> Generate 두개의 필드 선택후 생성자 추가 같은 방법으로 ArticleForm 아래에 toString() 메서드 추가 (폼데이터를 잘 받아왔는지 확인하기 위해) 폼 데이터를 DTO 에 담기 ArticleController 코드 수정 @PostMapping("/articles/create") public String createArticl..

Java 2023.04.25