1. 비즈니스 로직
BoardMapper.xml
<!
<update id="updateBoard" parameterType="BoardDTO">
UPDATE
TB_Board
SET
update_time = sysdate
, title =
, content =
, writer =
, notice_yn = NVL(
, secret_yn = NVL(
WHERE
idx =
</update>
BoardMapper.java
public int updateBoard(BoardDTO params);
BoardService.java
- Service 인터페이스는 추가로 작성하지 않고
게시글 등록
을 수정하여 사용한다.
public boolean registerBoard(BoardDTO params);
BoardServiceImpl.java
- 마찬가지로, 추가로 작성하지 않고
게시글 등록
을 수정하여 사용한다.
@Override
public boolean registerBoard(BoardDTO params) {
int queryResult = 0;
if(params.getIdx() == null) {
queryResult = boardMapper.insertBoard(params);
}
else {
queryResult = boardMapper.updateBoard(params);
}
return (queryResult == 1) ? true : false;
}
BoardController.java
- 컨트롤러도 기본의
게시글 등록
을 수정하여 사용한다.
@GetMapping(value = "/board/write.do")
public String openBoardWrite(@RequestParam(value = "idx", required = false) Long idx, Model model) {
if(idx == null) {
model.addAttribute("board", new BoardDTO());
}
else {
BoardDTO board = boardService.getBoardDetail(idx);
if(board == null) {
return "redirect:/board/list.do";
}
model.addAttribute("board", board);
}
return "board/write";
}
2. 인터페이스
write.html
- 기존의
write.html
을 그대로 사용한다.
이미지를 보면 값이 넣어지도록 설정해놨다. 그동안은 넣을 값이 없었기 때문에 아무것도 보여지지 않았던 것이며, 수정버튼을 누르면 값이 존재하기 때문에 write.html에 표시된다.
또한, 수정버튼을 누르면 idx값이 전달하게 되어 수정쿼리를 수행하게 된다.
3. 확인
/board/view.do
- 게시물 조회에서 수정 버튼 누른 후, 내용 수정하고 저장.