Note.9 글쓰기 / 기능

Jay·2023년 2월 13일
1

Spring

목록 보기
9/14
post-thumbnail

📌 글쓰기

📖 글쓰기 해보기


참고로 이렇게 SQL 수정헤서 내림차순으로 볼 수 있다.


글쓰기 버튼을 먼저 추가를 해준다.

다양한 버전도 가능하다.

왼쪽부터 차근차근 Primary , info, success, warning 이다.


버튼에 goForm 클릭이벤트를 걸어준다.


jsp 상단에 페이지 이동 스크립트 함수를 작성한다.

그 다음 BoardControllerRequestMapping와 리턴 작성해주면 그쪽으로 이동한다.

그 다음에 viewsboardList.jsp를 만들면 일 단 글쓰기 할 준비는 끝이 난다.

글쓰기 jsp에 부트스트랩 폼을 그대로 가져오자.

프런트는 따로 올릴 예정이다.


입력하는 양식또한 부트스트랩에서 가져온다.

이런식으로 입력폼이 완성이 된다.

이 부분만 상황에 맞게 수정해준다.

📖 글쓰기 기능

내용 부분 수정 및 textarea 추가를 해준다.

마지막에 작성자도 추가를 해준다.

버튼도 좀 이쁘게 수정을 해준다.

그리고 중요한 반드시 action값을 걸어주자(/는 빼준다.)
전에 공부했던 데이터 전송하기위한 3가지 조건을 생각하면 될것이다.

그리고 대량의 데이터를 전달하기위한 데이터 전송방식은 post로 한다.

📖 전체 코드

그다음 BoardController에다가 맵핑을 추가한다.

예전에는 이런식으로 파라미터 값을 일일이 가져와서 VO파라미터를 수집해서 데이터를 묶어놨다.

Spring에서는 그렇게 일일이 파라미터를 수집할 필요없이 매개변수에 BoardVO 타입을 넣으면 스프링이 알아서 파라미터 값을 가져와서 묶어준다.

이렇게 내부적으로 자동으로 객체를 만들어주는 기술리플렉션 이라고 한다.
BoardVO를 자동으로 만들어주기 위해서는 BoardVO클래스에 기본생성자가 반드시 있어야한다.


그래서 우리는 lombok을 사용하기 때문에 BoardVO@NoArgsConstructor로 기본생성자를 만들어주고,

이부분이 파라미터 name값과 일치해야한다.

(추가 별도로 이런식으로 mapper.xml 없이 db연동이 가능하긴 하다.)

VO까지 다 되었다면,

BoardMapper.java에 데이터를 삽입하는 메소드를 만들어준다.
당연히 기능은 MaBits가 해주니 추상메소드로 만든다.

데이터를 삽일할때 데이터를 보내줘야하기때문에 매개변수 vo를 넘겨준다.

그다음 Mapper.xmlinsert 태그 추가를 통해 데이터 삽입 기능을 만든다.
데이터 삽입을 하기 위해서는 데이터를 받아와야하는데 그게 parameterType 속성을 통해 받아올 데이터 타입을 명시 할 수 있다.
그리고 ?,?,? 이였던 부분을 프레임워크에서는 #{파라미터이름} 을 통해 명확이 명시해준다.

마지막으로 Mapper.java에서 mapper.boardInsert(vo);를 통해 기능을 수행하고
이제 페이지를 이동해야하는데 우린 포워드 방식이 아닌 리다이렉트 방식으로 가야한다.
그럴땐 return "redirect:/boardList.do"라고 해주면 된다.

아주 잘 작동되는 것을 확인 할 수 있다.


📌 마무리

📖 한마디

다음시간에는 상세보기 및 몇가지 팁을 적어보려고 한다.

게시판 하나를 하는데에 많은 시간을 쏟아부었지만 아직 완벽하게 만들어내지는 못했다.
하지만 거의 다 왔으니 조금만 더 끈기있게 노력해보자.

어렵긴 하지만 재미도 있고, 확실히 성장해 가는게 느껴지니까 보람도 있다.

profile
Jay, a developer growing as a challenge, aims to surprise the world!

0개의 댓글