반응형
Service 클래스에서는 각 클라이언트의 요청을 처리하는 비즈니스 로직이 구현된다.
📌새로운 글 작성 처리하는 비즈니스 로직
BoardWriteProService 클래스
package service; import java.sql.Connection; import dao.BoardDAO; import vo.BoardBean; import static db.JdbcUtil.*; public class BoardWriteProService { public boolean registBoard(BoardBean boardBean) throws Exception{ // TODO Auto-generated method stub boolean isWriteSuccess = false; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); int insertCount = boardDAO.insertBoard(boardBean); if(insertCount > 0){ commit(con); isWriteSuccess = true; } else{ rollback(con); } close(con); return isWriteSuccess; } }
📌게시판 목록 List 처리하는 비즈니스 로직
BoardListService 클래스
package service; import static db.JdbcUtil.*; import java.sql.Connection; import java.util.ArrayList; import dao.BoardDAO; import vo.BoardBean; public class BoardListService { public int getListCount() throws Exception{ // TODO Auto-generated method stub int listCount = 0; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); listCount = boardDAO.selectListCount(); //DB에서 총 게시판 글의 개수를 반환받음 close(con); return listCount; } public ArrayList<BoardBean> getBoardList(int page, int limit) throws Exception{ ArrayList<BoardBean> boardList = null; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); boardList = boardDAO.selectBoardList(page,limit); close(con); return boardList; } }
📌게시글 상세 보기
BoardDetailService 클래스
package service; import java.sql.Connection; import dao.BoardDAO; import vo.BoardBean; import static db.JdbcUtil.*; public class BoardDetailService { public BoardBean getBoard(int board_num) throws Exception{ // TODO Auto-generated method stub BoardBean board = null; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); //조회수 증가 update 작업의 트랜잭션 처리해주는 부분 int updateCount = boardDAO.updateReadCount(board_num); if(updateCount > 0){ commit(con); } else{ rollback(con); } board = boardDAO.selectBoard(board_num); close(con); return board; } }
📌글 수정 처리하는 비즈니스 로직
BoardModifyProService 클래스
package service; import static db.JdbcUtil.*; import java.sql.Connection; import vo.BoardBean; import dao.BoardDAO; public class BoardModifyProService { public boolean isBoardWriter(int board_num, String pass) throws Exception { //사용자가 해당 글을 작성한 사용자인지를 판단 boolean isBoardWriter = false; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); isBoardWriter = boardDAO.isBoardWriter(board_num, pass); close(con); return isBoardWriter; } public boolean modifyBoard(BoardBean board) throws Exception { //글 수정 작업을 처리하는 메소드 boolean isModifySuccess = false; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); int updateCount = boardDAO.updateBoard(board); //트랜잭션 처리하는 부분 if(updateCount > 0){ commit(con); isModifySuccess=true; } else{ rollback(con); } close(con); return isModifySuccess; } }
📌글 삭제 처리하는 비즈니스 로직
BoardDeleteProService 클래스
package service; import static db.JdbcUtil.close; import static db.JdbcUtil.commit; import static db.JdbcUtil.getConnection; import static db.JdbcUtil.rollback; import java.sql.Connection; import dao.BoardDAO; public class BoardDeleteProService { public boolean isBoardWriter(int board_num, String pass) throws Exception { // 사용자가 해당 글을 작성한 사용자인지를 판단 boolean isBoardWriter = false; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); isBoardWriter = boardDAO.isBoardWriter(board_num, pass); close(con); return isBoardWriter; } public boolean removeBoard(int board_num) throws Exception{ // 글 삭제 요청을 처리하는 메소드 boolean isRemoveSuccess = false; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); int deleteCount = boardDAO.deleteBoard(board_num); //트랜잭션 처리하는 부분 if(deleteCount > 0){ commit(con); isRemoveSuccess=true; } else{ rollback(con); } close(con); return isRemoveSuccess; } }
📌게시글의 답글 처리하는 비즈니스 로직
BoardReplyProService 클래스
package service; import static db.JdbcUtil.*; import java.sql.Connection; import dao.BoardDAO; import vo.BoardBean; public class BoardReplyProService { public boolean replyBoard(BoardBean board) throws Exception{ boolean isReplySuccess = false; int insertCount = 0; Connection con = getConnection(); BoardDAO boardDAO = BoardDAO.getInstance(); boardDAO.setConnection(con); insertCount = boardDAO.insertReplyBoard(board); if(insertCount > 0){ commit(con); isReplySuccess = true; } else{ rollback(con); } close(con); return isReplySuccess; } }
반응형
'JSP & Servlet > 실습' 카테고리의 다른 글
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - View (0) | 2022.06.29 |
---|---|
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - DAO(Data Access Object) (0) | 2022.06.27 |
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - Action 클래스 (0) | 2022.06.26 |
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - Controller 클래스 (0) | 2022.06.26 |
[JSP & Servlet] 게시판 만들기 (feat. MySQL) - 테이블 생성 및 vo(Value Object) (0) | 2022.06.26 |