참고로 이렇게 SQL
수정헤서 내림차순으로 볼 수 있다.
글쓰기 버튼을 먼저 추가를 해준다.
다양한 버전도 가능하다.
왼쪽부터 차근차근 Primary
, info
, success
, warning
이다.
버튼에 goForm
클릭이벤트를 걸어준다.
jsp
상단에 페이지 이동 스크립트 함수를 작성한다.
그 다음 BoardController
에 RequestMapping
와 리턴 작성해주면 그쪽으로 이동한다.
그 다음에 views
에 boardList.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.xml
에 insert
태그 추가를 통해 데이터 삽입 기능을 만든다.
데이터 삽입을 하기 위해서는 데이터를 받아와야하는데 그게 parameterType
속성을 통해 받아올 데이터 타입을 명시 할 수 있다.
그리고 ?,?,?
이였던 부분을 프레임워크에서는 #{파라미터이름}
을 통해 명확이 명시해준다.
마지막으로 Mapper.java
에서 mapper.boardInsert(vo);
를 통해 기능을 수행하고
이제 페이지를 이동해야하는데 우린 포워드 방식이 아닌 리다이렉트 방식으로 가야한다.
그럴땐 return "redirect:/boardList.do"
라고 해주면 된다.
아주 잘 작동되는 것을 확인 할 수 있다.
다음시간에는 상세보기 및 몇가지 팁을 적어보려고 한다.
게시판 하나를 하는데에 많은 시간을 쏟아부었지만 아직 완벽하게 만들어내지는 못했다.
하지만 거의 다 왔으니 조금만 더 끈기있게 노력해보자.
어렵긴 하지만 재미도 있고, 확실히 성장해 가는게 느껴지니까 보람도 있다.