728x90
반응형
1. BoardMapper 내용 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | package com.example.board.mapper; import com.example.board.domain.Board; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface BoardMapper { // 게시글 목록 조회 List<Board> getBoardList(); // 게시글 상세 조회 Board getBoardDetail(int board_seq); // 게시글 등록 int insertBoard(Board board); // 게시글 수정 int updateBoard(Board board); // 게시글 삭제 int deleteBoard(int board_seq); } | cs |
2. BoardMapper.xml 내용 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.board.mapper.BoardMapper"> <select id="getBoardList" resultType="com.example.board.domain.Board"> SELECT * FROM RA_BOARD ORDER BY BOARD_SEQ ASC </select> <select id="getBoardDetail" parameterType="int" resultType="com.example.board.domain.Board"> SELECT * FROM ( SELECT BOARD_SEQ , BOARD_WRITER , BOARD_SUBJECT , BOARD_CONTENT , BOARD_HITS , INS_USER_ID , CAST( DATE_FORMAT( INS_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS INS_DATE , UPD_USER_ID , CAST( DATE_FORMAT( UPD_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS UPD_DATE FROM RA_BOARD WHERE BOARD_SEQ = #{board_seq} ) RA_BOARD </select> <insert id="insertBoard" parameterType="com.example.board.domain.Board"> <selectKey resultType="int" keyProperty="board_seq" order="AFTER"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO RA_BOARD ( BOARD_WRITER , BOARD_SUBJECT , BOARD_CONTENT , INS_USER_ID , INS_DATE , UPD_USER_ID , UPD_DATE ) VALUES ( #{board_writer} , #{board_subject} , #{board_content} , 'TEST' , NOW() , 'TEST' , NOW() ) </insert> <update id="updateBoard" parameterType="com.example.board.domain.Board"> UPDATE RA_BOARD SET BOARD_SUBJECT = #{board_subject} , BOARD_CONTENT = #{board_content} , UPD_USER_ID = 'TEST' , UPD_DATE = NOW() WHERE BOARD_SEQ = #{board_seq} </update> <delete id="deleteBoard" parameterType="int"> DELETE FROM RA_BOARD WHERE BOARD_SEQ = #{board_seq} </delete> </mapper> | cs |
3. BoardService 내용 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | package com.example.board.service; import com.example.board.domain.Board; import com.example.board.mapper.BoardMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class BoardService { @Autowired private BoardMapper boardMapper; //게시글 목록 조회 public List<Board> getBoardList(){ return boardMapper.getBoardList(); } //게시글 상세 조회 public Board getBoardDetail(int board_seq){ return boardMapper.getBoardDetail(board_seq); } //게시글 등록 public int insertBoard(Board board){ return boardMapper.insertBoard(board); } //게시글 수정 public int updateBoard(Board board){ return boardMapper.updateBoard(board); } //게시글 삭제 public int deleteBoard(int board_seq){ return boardMapper.deleteBoard(board_seq); } } | cs |
4. BoardController 내용 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | package com.example.board.controller; import com.example.board.domain.Board; import com.example.board.service.BoardService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RequestMapping("/board") @RestController public class BoardController { @Autowired private BoardService boardService; // 게시글 목록 조회 @GetMapping public List<Board> getBoardList(){ return boardService.getBoardList(); } // 게시글 상세 조회 @GetMapping("/{board_seq}") public Board getBoardDetail(@PathVariable("board_seq") int board_seq){ return boardService.getBoardDetail(board_seq); } // 게시글 등록 @PostMapping public Board insertBoard(@RequestBody Board board){ boardService.insertBoard(board); int boardSeq = board.getBoard_seq(); Board boardDetail = boardService.getBoardDetail(boardSeq); return boardDetail; } // 게시글 수정 @PutMapping("/{board_seq}") public Board updateBoard(@PathVariable("board_seq") int board_seq, @RequestBody Board board){ boardService.updateBoard(board); Board boardDetail = boardService.getBoardDetail(board_seq); return boardDetail; } // 게시글 삭제 @DeleteMapping("/{board_seq}") public Board deleteBoard(@PathVariable("board_seq") int board_seq){ boardService.deleteBoard(board_seq); Board deleteBoard = new Board(); deleteBoard.setBoard_seq(board_seq); return deleteBoard; } } | cs |
5-1. 결과화면(GET)
전체 조회
상세 조회
5-2. 결과화면(POST)
5-3. 결과화면(PUT)
5-4. 결과화면(DELETE)
'프로젝트 > REST를 이용한 게시판' 카테고리의 다른 글
REST를 이용한 간단한 게시판(2) - DB설계&DB연결 (0) | 2022.10.04 |
---|---|
REST를 이용한 간단한 게시판(1) - 프로젝트 생성 (0) | 2022.10.04 |
댓글