board table
프로젝트 구조
※ Interface파일과 jsp view파일은 첨부파일 참조
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 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.tistory.injava.BoardMapper"> <update id="updateBoard" parameterType="com.tistory.injava.service.Board"> UPDATE board SET board_title=#{boardTitle}, board_content=#{boardContent} WHERE board_no=#{boardNo} AND board_pw=#{boardPw} </update> <select id="selectBoardByKey" parameterType="int" resultType="com.tistory.injava.service.Board"> SELECT board_no as boardNo, board_title as boardTitle, board_content as boardContent, board_user as boardUser, board_date as boardDate FROM board WHERE board_no=#{boardNo} </select> <delete id="deleteBoard" parameterType="com.tistory.injava.service.Board"> DELETE FROM board WHERE board_no=#{boardNo} AND board_pw=#{boardPw} </delete> <select id="selectTotalBoardCount" resultType="int"> SELECT COUNT(*) FROM board </select> <select id="selectBoardListPerPage" parameterType="Map" resultType="com.tistory.injava.service.Board"> SELECT board_no as boardNo, board_title as boardTitle, board_user as boardUser, board_date as boardDate FROM board ORDER BY board_date DESC LIMIT #{beginRow}, #{pagePerRow} </select> <insert id="boardAdd" parameterType="com.tistory.injava.service.Board"> INSERT INTO board( board_pw, board_title, board_content, board_user, board_date) VALUES( #{boardPw}, #{boardTitle}, #{boardContent}, #{boardUser}, now() ) </insert> </mapper> | cs |
BoardDaoImpl.java
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 | package com.tistory.injava.service; import java.util.List; import java.util.Map; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; @Repository public class BoardDaoImpl implements BoardDao{ @Autowired private SqlSessionTemplate sqlSession; private final String BOARD_NS = "com.tistory.injava.BoardMapper."; @Override public int insertBoard(Board board) { // TODO Auto-generated method stub return sqlSession.insert(BOARD_NS+"boardAdd", board); } @Override public int selectTotalBoardCount() { // TODO Auto-generated method stub return sqlSession.selectOne( BOARD_NS+"selectTotalBoardCount"); } @Override public List<Board> selectBoardListPerPage(Map<String, Integer> map) { // TODO Auto-generated method stub return sqlSession.selectList(BOARD_NS+"selectBoardListPerPage", map); } @Override public int deleteBoard(Board board) { // TODO Auto-generated method stub return sqlSession.delete(BOARD_NS+"deleteBoard", board); } @Override public Board selectBoardByKey(int boardNo) { // TODO Auto-generated method stub return sqlSession.selectOne(BOARD_NS+"selectBoardByKey", boardNo); } @Override public int updateBoard(Board board) { // TODO Auto-generated method stub return sqlSession.update(BOARD_NS+"updateBoard", board); } } | cs |
BoardServiceImpl.java
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 | package com.tistory.injava.service; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class BoardServiceImpl implements BoardService{ @Autowired private BoardDao boardDao; @Override public int addBoard(Board board) { // TODO Auto-generated method stub return boardDao.insertBoard(board); } @Override public Map<String, Object> getBoardListPerCurrentPage(int currentPage) { // pagePerRow, beginRow int pagePerRow = 10; int beginRow = (currentPage-1)*pagePerRow; // totalCount int totalRowCount = boardDao.selectTotalBoardCount(); // lastPage int lastPage = totalRowCount/pagePerRow; if(totalRowCount%pagePerRow != 0) { lastPage++; } // boardList Map<String, Integer> map = new HashMap<String, Integer>(); map.put("beginRow", beginRow); map.put("pagePerRow", pagePerRow); List<Board> list = boardDao.selectBoardListPerPage(map); Map<String, Object> returnMap = new HashMap<String, Object>(); returnMap.put("totalRowCount", totalRowCount); returnMap.put("lastPage", lastPage); returnMap.put("list", list); return returnMap; } @Override public int removeBoard(Board board) { // TODO Auto-generated method stub return boardDao.deleteBoard(board); } @Override public Board getBoardByKey(int boardNo) { // TODO Auto-generated method stub return boardDao.selectBoardByKey(boardNo); } @Override public int modifyBoard(Board board) { // TODO Auto-generated method stub return boardDao.updateBoard(board); } } | cs |
BoardController.java
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 | package com.tistory.injava.web; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import com.tistory.injava.service.Board; import com.tistory.injava.service.BoardService; @Controller public class BoardController { @Autowired private BoardService boardService; @RequestMapping(value="/board/boardModify", method=RequestMethod.GET) public String boardModify(Model model, @RequestParam(value="boardNo") int boardNo) { model.addAttribute("board", boardService.getBoardByKey(boardNo)); return "/board/boardModify"; } @RequestMapping(value="/board/boardModify", method=RequestMethod.POST) public String boardModify(Model model, Board board) { if(boardService.modifyBoard(board) != 1) { model.addAttribute("board", board); return "/board/boardModify"; } return "redirect:/board/boardList"; } @RequestMapping(value="/board/boardView") public String boardView(Model model, @RequestParam(value="boardNo") int boardNo) { model.addAttribute("board", boardService.getBoardByKey(boardNo)); return "/board/boardView"; } @RequestMapping(value="/board/boardRemove", method=RequestMethod.GET) public String boardRemove() { return "/board/boardRemove"; } @RequestMapping(value="/board/boardRemove", method=RequestMethod.POST) public String boardRemove(Board board) { if(boardService.removeBoard(board) != 1) { return "/board/boardRemove"; } return "redirect:/board/boardList"; } @RequestMapping(value="/board/boardList") public String boardList(Model model, @RequestParam(value="currentPage", defaultValue="1") int currentPage) { Map<String, Object> returnMap = boardService.getBoardListPerCurrentPage(currentPage); model.addAttribute("currentPage", currentPage); model.addAttribute("totalRowCount", returnMap.get("totalRowCount")); model.addAttribute("lastPage", returnMap.get("lastPage")); model.addAttribute("list", returnMap.get("list")); return "/board/boardList"; } @RequestMapping(value="/board/boardAdd", method=RequestMethod.POST) public String boardAdd(Board board) { boardService.addBoard(board); return "redirect:/board/boardList"; // redirect } @RequestMapping(value="/board/boardAdd", method=RequestMethod.GET) public String boardAdd() { return "/board/boardAdd"; // forward } } | cs |
'P. 자바 미니 프로젝트 > springmvc 게시판' 카테고리의 다른 글
P.4.4 Maven SpringMVC 게시판 만들기 - log4j 설정파일 (0) | 2017.01.06 |
---|---|
P.4.3 Maven SpringMVC 게시판 만들기 - spring 설정파일 (0) | 2017.01.06 |
P.4.2 Maven SpringMVC 게시판 만들기 - 웹프로젝트 설정파일 (0) | 2017.01.06 |
P.4.1 Maven SpringMVC 게시판 만들기 - maven 설정파일 (0) | 2017.01.06 |