반응형
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 |