본문 바로가기
✨ Back-end/Spring-Boot

[Spring] 보드게시판 만들기(3) 글쓰기

by 환풍 2023. 3. 23.
728x90

 

 


board_list.html

글쓰기 버튼을 누르면 onclick으로 board 컨트롤러에 있는 regBoard경로로 찾아가게 된다.

BoardController.java 컨트롤러

오른쪽에 있는 사진은 BoardVO

BoardVO 객체에 저장된 boardVO를 사용할 수 있도록 매개변수에 담아서 board_write 페이지로 이동하게 된다.

현재 BoardVO에 담겨진 데이터는 없다.

 

board_writer.html

등록 버튼을 만들어 form태그로 감싸 submit으로 보내주었고, 이전 컨트롤러에서 boardVO를 가져왔기 때문에,

각 input, textarea 과 같은 태그에 값을 넣어주면 boardVO에 담아서 컨트롤러로 넘어갈 수 있게된다.

오른쪽과 같이 비밀글 체크박스에 클릭시 자바스크립트를 이용해 비밀번호가 나타날 수 있도록 하였는데,

toggle을 이용하여 사라지고, 나타나게 만들어주었다.

BoardController.java 컨트롤러

컨트롤러에서 해당 BoardVO boardVO를 받아와 출력해보았다.

위처럼 데이터를 잘 받아가 들어간 것을 볼 수있으며,

이것을 쿼리로 작성하고 Service를 쓰기 위해선 먼저 Mapper부터 작업해주어야한다.

 

보드매퍼에서 게시글 등록을 해줄 수 있는데, 위의 resultMap 데이터를 적절히 참고할 수 있다.

resultMap은 select절에서 사용하기 위해 미리 만들어 두는 것이 효율적이다.

 

Service

이후 service 패키지에 들어와 BoardServic 인터페이스에서 void로 BoardVO 객체를 저장한다.

매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성)
매개변수 : 쿼리 실행 시 빈 값을 채울 용도
1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음
2. 채워줄 값이 하나일 경우
 2-1) 채워줄 값이 숫자인 경우 : 매개변수 int형 하나
 2-2) 채워줄 값이 문자인 경우 : 매개변수 String형 하나
3. 채워줄 값이 여러개인 경우 : 매개변수는 VO 객체.
리턴타입 : 쿼리 실행 결과를 어떻게 받아올지에 대한 정의
INSERT, UPDATE, DELETE 쿼리 실행 결과는
리턴타입을 int 혹은 void 사용하면됨. int로 받을 땐 return 필요o  void는 필요x
SELECT 쿼리 결과의 리턴타입은 크게 두 가지로 나뉨.
조회결과 데이터가 무조건 한줄만 조회 : VO 객체.
조회 결과 데이터가 0줄이상 가변적일 경우 : List<VO> 객체.

끝났으면 BoardServicImpl 클래스로 넘어가 sqlsession를 완료해준다. @어노테이션도 각 상황에 맞는 것을 쓴다.

 

BoardController.java 컨트롤러

콘솔창

이렇게 까지 하고나면, 게시글 등록이 된다.

하지만 아직 게시글 리스트를 출력해주지 않았으므로 html에서 결과 확인을 할 수가 없다.

글 리스트를 출력 하는 방법은 다음 포스팅에서 알아보자.

반응형

댓글