Spring

[Spring]7. 게시판 실습

CodeJaram 2023. 9. 21. 11:20

Spring_07_게시판 실습

 

  • project 생성 시 dependencies 설정

  • DevTools: 수정사항이 생기면 Tomcat을 자동으로 재시작하는 도구

-자동재시작: 내용을 수정하면 자동으로 서버 재시작 기능 수행

-ReLoad: resource 내용이 변경되면 자동으로 새로고침 기능 수행

 

<테이블 생성>

  • sqlDeveloper에서 board2 테이블 생성하기

[Board]entity

  • 필드 및 생성자 만들기

 


<게시글 작성하기>

[BoardWrite]

  • 파일선택하는 input 태그 추가

  • form 태그에 enctype을 multipart/form-data로 지정

 

[BoardController]

  • 첫 화면 메인페이지 실행

  • 게시글 작성 페이지로 이동

  1. 게시글 저장하는 메소드
  • @RequestPart annotation으로 file 태그 name값으로 Multipartfile 가져오기

  • 파일명 중복제거하기 위한 랜덤문자열 생성

 

  • 중복제거한 랜덤문자열+파일이름으로 새로운 파일이름 만들기

 

  • 지정한 경로에 파일명 저장

 

[application.properties]

  • 파일 경로 지정: spring.servlet.multipart.location

  • src/main/resource/static/img 폴더 경로 텍스트로 복사하여 붙여넣기+ 슬래시(/)추가

 

[BoardController]

  1. 게시글 저장하는 메소드
  • entity filename을 중복제거된 새로운 파일이름으로 변경

 

  • BoardService boardInsert 메소드로 board2 전송

  • 작성한 게시글이 메인페이지에 보이도록 게시글 조회 메소드로 이동

 

[BoardService]

  • BoardMapper의 메소드로 board2 entity 보내기

 

[BoardMapper]

  • 게시글 저장하는 추상메소드 생성, annotation 방식으로 INSERT문 작성하기


<게시글 전체 조회>

 

[BoardController]

  1. 게시글 조회하는 메소드
  • Service에서 게시글 정보 받아와서 객체 바인딩하기
  • 메인 페이지로 이동하기

 

 

[BoardService]

  • BoardMapper의 메소드 리턴하기
  • 메소드 타입 List<객체>

 

[BoardMapper]

  • 게시글 조회하는 추상메소드 만들기, SELECT문 annotation 방식으로 작성하기


<게시글 세부내용 조회>

[BoardMain]

  • 게시글 번호 Controller로 전송하기

[BoardController]

  • 게시글 번호 service의 메소드로 보내기
  • Service 메소드의 결과값 객체 바인딩하기
  • 게시글 세부조회 페이지로 리턴



[BoardService]

  • Mapper로 게시글 번호 보내기
  • 메소드 타입 entity

 

[BoardMapper]

  • 게시글 세부내용 조회하는 추상메소드 만들기, SELECT문 작성하기


<게시글 삭제하기>

[BoardMain]

  • /${ }방식으로 변수 보내기

 

[BoardController]

  • PathVariable로 게시글 번호 받아오기
  • Service로 선택한 게시글 번호 보내기
  • 게시글 조회하는 메소드로 이동하여 삭제한 게시글 반영하기

[BoardService]

  • 선택한 게시글 번호 Mapper로 보내기
  • 메소드 타입 int

[BoardMapper]

  • 게시글 삭제하는 추상메소드 만들기, Delete문 작성하기

 

 

'Spring' 카테고리의 다른 글

[Spring]6. Spring Boot&React 연동  (0) 2023.09.20
[Spring]5. Spring Boot  (0) 2023.09.15
[Spring]4. Ajax 비동기 통신  (0) 2023.09.14
[Spring]3. Spring Legacy 템플릿  (0) 2023.09.11
[Spring]2. 게시판 조회 및 삭제 실습  (0) 2023.09.09