스프링 레거시 프로젝트로 검색 기능을 구현할 때에는 hidden 태그로 검색어를 감싸고... 쿼리문에 조건문도 넣고 다소 복잡하게 만들었었는데 스프링부트에서는 검색 기능 역시 JPA 기능을 통해 간단하게 구현할 수 있다. 💡JPA Repository findBy(컬럼 이름) : 컬럼에서 키워드를 넣어서 찾겠다. findBy(컬럼 이름)Containing : 컬럼에서 키워드가 포함된 것을 찾겠다. 🤍검색 기능 구현하기 BoardRepository 수정 findByTitleContaining : title 컬럼을 기준으로 해당 키워드가 포함된 것을 찾겠다. findBy 사용 시에는 완전한 제목을 입력해야 하지만 findBy컬럼Containing 을 사용함으로써 해당 키워드가 포함된 글을 검색할 수 있다. @..
스프링 레거시 프로젝트를 할 땐 페이징 관련 vo를 따로 만들고 다소 복잡한 방식으로 페이징 처리를 했었는데 스프링부트에서는 JPA의 Pageable 인터페이스를 사용해서 훨씬 간단한 페이징 처리 구현이 가능하다. 🤍간단한 페이징 처리 구현하기 1. 컨트롤러 API에서 Pageable 인터페이스 타입으로 파라미터를 받는다. 인터페이스는 getPageNumber(), getPageSize() 등등 페이징 구현 시 필요한 값을 편하게 구할 수 있는 메소드를 갖고 있다. 위 코드를 설명하면 page : default 페이지 size : 한 페이지 게시글 수 sort : 정렬 기준 컬럼(여기에서는 글 번호 id) direction : 정렬 순서 (보통 게시판은 최근 글이 위로 올라와 있기 때문에 역순으로 설정함..
맨 처음으로 DB 테이블에 업로드된 파일 이미지, 파일 경로를 저장할 수 있도록 컬럼을 추가해 준다. 테이블이 수정되었으므로 당연히 엔티티도 수정해 준다. 이제 다시 코드로 돌아와서!! 파일 업로드를 구현하기 위해서는 form 태그에 아래 코드를 꼭 추가해주어야 한다! enctype="multipart/form-data" 글 작성 시 파일 업로드가 가능하도록 boardwrite.html 수정 업로드된 이미지를 확인할 수 있도록 boardview.html 수정 컨트롤러 코드 수정(매개변수에 MultipartFile 추가) 글 작성 + 파일 업로드 서비스단 코드 수정 //글 작성 처리 public void write(Bootboard bootboard, MultipartFile file) throws Exc..
🤍게시판 글 상세 조회 구현 글 조회 컨트롤러 코드 작성 @GetMapping("/board/view") //localhost:8080/board/view?id=1 public String boardView(Model model, Integer id){ model.addAttribute("bootboard",boardService.boardView(id)); return "boardview"; } 글 조회 화면 boardview.html 작성 제목입니다. 내용입니다. 글 조회 서비스 코드 작성 //특정 게시글 불러오기 public Bootboard boardView(Integer id){ return boardRepository.findById(id).get(); } 글 목록에서 제목을 클릭했을 때 상세..
프로젝트 구조는 아래와 같이 만들었다. 이번에는 게시글 폼(boardwrite.html), 게시글 목록(boardList.html)까지 만들고 컨트롤러, 서비스, repository를 연결해서 게시글을 작성해서 디비에 넣고 글 목록까지 출력하는 것을 구현할 것이다. 🤍게시판 글 작성 구현 먼저 컨트롤러를 작성해 주고 엔티티 작성 Entity(엔티티) : 데이터베이스에 쓰일 필드와 여러 엔티티간 연관 관계를 정의함. Repository 작성 Entity에 의해 생성된 DB에 접근하는 메서드 (EX. findAll()...)들을 사용하기 위한 인터페이스, 위에서 엔티티를 선언함으로써 데이터베이스 구조를 만들었다면 여기에 어떤 값을 넣거나 넣어진 값을 조회하는 등의 CRUD를 해야 쓸모가 있는데 이것을 어떻게..
학원 수료 후 취업 전까지 스프링부트 미니 프로젝트를 하나 더 해보기로 했다. 프로젝트 시작에 앞서 스프링부트와 좀 더 친해지기 위해(??) 유튜브 스프링부트 무작정 따라하기 영상을 보고 게시판을 만들어보려고 한다. 역시 모든 웹 개발의 기초는,,,게시판이지,,😎 🤍인텔리제이 프로젝트 생성 1. Gradle 프로젝트 생성 2. ArtifactId는 board로 지어준다. 3. 의존성 추가 -- 이번에는 타임리프, MySQL을 사용할 거라서 아래와 같이 추가해 주었다. dependencies { implementation('org.springframework.boot:spring-boot-starter-web') implementation('org.springframework.boot:spring-boot..
게시판 글 등록, 수정, 삭제, 상세 조회 기능 참고 블로그 : https://tychejin.tistory.com/25?category=765216 (정말 감사합니다....) 백앤드 작업 1. BoardForm.java 에 아래 내용 추가 1 2 3 4 5 6 7 8 9 private String search_type; public String getSearch_type() { return search_type; } public void setSearch_type(String search_type) { this.search_type = search_type; } Colored by Color Scripter cs 2. BoardDTO.java 에 아래 내용 추가 1 2 3 4 5 6 7 8 9 priv..
스프링 게시판 만들기에 수업 시간에 배운 내용을 복습하는 것보다 새로운 코드를 참고하는 게 좋을 것 같아서 아래 블로그를 참고했습니다. 언제나 좋은 글,,좋은 정리로 공부에 도움 주는 많은 분들 항상 감사합니다...😍 참고 블로그 : https://tychejin.tistory.com/24?category=765216 [Spring] 게시판 만들기(14) - 게시글 조회(SELECT) 모델2 방식에 MVC(Model, View, Controller) 패턴과 관련된 파일을 추가한 후 목록을 구현하는 작업을 진행하도록 하겠습니다. Model 영역 애플리케이션에 비즈니스 로직과 사용되는 데이터를 다루는 tychejin.tistory.com 0. 패키지 구조 잡기 MVC 패턴 Controller : Dispat..