스프링 부트 31

[스프링 부트] 게시판 무작정 따라하기 - 10. 검색 기능 1편

JPA Repository findBy(컬럼이름): 컬럼에서 키워드를 넣어서 찾음 -> 정확하게 일치하는 데이터 검색 findBy(컬럼이름)Containing: 컬럼에서 키워드가 포함된 것을 찾음 -> 키워드가 포함된 모든 데이터 검색 Repository에 내용 추가 @Repository public interface BoardRepository extends JpaRepository { // 엔티티는 Board, PK의 타입은 Integer Page findByTitleContaining(String searchKeyword, Pageable pageable); // 제목에 포함된 키워드를 찾는 메서드 } Service에 내용 추가 // 게시글 리스트 처리 public Page boardList(Pag..

[스프링 부트] 게시판 무작정 따라하기 - 9. 페이징 처리 2편

페이지 블럭 출력하기 nowPage: 현재 페이지 startPage: 블럭에서 보여줄 시작 페이지 endPage: 블럭에서 보여줄 마지막 페이지 boardlist.html에 다음 내용을 추가 페이지 블럭에 보이는 페이지가 현재 페이지와 다르다면 /board/list로 보낼 때 페이지를 -1하고, 페이지 블럭에 보이는 페이지가 현재 페이지와 같다면 눌렀을 때 서체와 색상을 강조 컨트롤러에 페이징 코드 추가 @GetMapping("/board/list") public String boardList(Model model, @PageableDefault(page = 0, size = 10, sort = "id", direction = Sort.Direction.DESC) Pageable pageable) { P..

[스프링 부트] 게시판 무작정 따라하기 - 8. 페이징 처리 1편

페이징: 수많은 게시글의 갯수를 나눠서 보여주는 것 티스토리에도 있다. 컨트롤러의 boardList 메서드를 수정 @GetMapping("/board/list") public String boardList(Model model, @PageableDefault(page = 0, size = 10, sort = "id", direction = Sort.Direction.DESC) Pageable pageable) { model.addAttribute("list", boardService.boardList(pageable)); return "boardlist"; } Pageable 클래스는 org.springframework.data.domain 패키지에 있는 인터페이스를 임포트해야 한다. @PageableD..

[스프링 부트] 게시판 무작정 따라하기 - 7. 파일 업로드

파일을 저장할 수 있도록 DB에 컬럼 추가 filename과 filepath 컬럼을 추가한 후 apply 게시글을 작성할 때 파일을 첨부할 수 있도록 작성 boardwrite.html 작성 글 확인 시 버튼을 클릭하면 이미지를 확인할 수 있는 코드 작성 boardview.html 제목입니다. 내용이 들어갈 부분입니다. 이미지 확인하기 글 삭제 수정 Board 엔티티에 filename과 filepath 추가 package com.study2.board.entity; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta...

[스프링 부트] 게시판 무작정 따라하기 - 6. 메시지 띄우기

게시글을 등록 시 게시글이 등록되었다는 메시지를 출력하기 BoardController의 boardWritePro 메서드 내용을 수정 @PostMapping("/board/writepro") public String boardWritePro(Board board, Model model) { // 데이터가 board에 담겨서 들어옴 boardService.write(board); model.addAttribute("message", "글 작성이 완료되었습니다."); model.addAttribute("searchUrl", "/board/list"); return "message"; } message.html 작성 var message = [[${message}]]; : 컨트롤러에서 전달받은 변수(messag..