Service클래스를 구현하기에 앞서 지금까지의 내용들을 정리해보겠습니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
1.Mysql을 사용해 board(게시판)테이블 설계
2.게시물 정보를 담을수있는 BoardVO클래스 생성
3. Mybatis를 사용해 DB와 연결해야하는 모든 기능들을 IBoardMapper인터페이스에 메서드로 선언한뒤
BoardMapper.xml에서 모두 구현
4. 게시물 리스트를 사용자에게 나눠서 보여줄수있도록 PageVO클래스와 그 클래스를 상속받은 SearchVO클래스생성
5.사용자에게 게시판 페이징 네비게이션바를 보여주기위한 로직이 구현된 PageCreator클래스 생성
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
여기까지가 지금까지 한 내용들 입니다 인제 Service부분을 구현하도록 해보겠습니다.
#IBoardService.java
|
package com.example.demo.service;
import java.util.List;
import com.example.demo.paging.PageVO;
import com.example.demo.search.SearchVO;
import com.example.demo.vo.BoardVO;
public interface IBoardService {
//전체 리스트 조회
List<BoardVO> getAllArticles(SearchVO vo);
//특정 게시물 조회
BoardVO getArticle(int boardNum);
//전체 게시물수 조회(검색 페이징 포함)
int countArticles(SearchVO vo);
//게시물 등록
void insert(BoardVO article);
//특정게시물 수정
void update(BoardVO article);
//특정게시물 삭제
void delete(int boardNum);
}
|
cs |
#BoardService.java
|
package com.example.demo.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.dao.IBoardMapper;
import com.example.demo.paging.PageVO;
import com.example.demo.search.SearchVO;
import com.example.demo.vo.BoardVO;
@Service
public class BoardService implements IBoardService{
@Autowired
IBoardMapper mapper;
@Override
public BoardVO getArticle(int boardNum) {
mapper.updateViewCnt(boardNum); //사용자가 게시물을 조회할때 조회수를 올려주는 로직입니다
return mapper.getArticle(boardNum);
}
@Override
public void insert(BoardVO article) {
mapper.insert(article);
}
@Override
public void update(BoardVO article) {
mapper.update(article);
}
@Override
public void delete(int boardNum) {
mapper.delete(boardNum);
}
@Override
public int countArticles(SearchVO vo) {
return mapper.countArticles(vo);
}
@Override
public List<BoardVO> getAllArticles(SearchVO vo) {
return mapper.getAllArticles(vo);
}
}
|
cs |
'Spring Boot 개인 프로젝트 > 게시판(Board)' 카테고리의 다른 글
(7 - 1) 게시판 리스트파일(JSP File)에서 Model로 넘어온 데이터들을 JSTL과EL표기법을 활용해서 표현하기 (0) | 2021.09.19 |
---|---|
(6) BoardController 구현 (0) | 2021.09.19 |
(4 - 2)(게시물 리스트 페이징) 네비게이션 바를 만들기위한 PageCreator클래스 생성 (0) | 2021.09.18 |
(4 - 1)(게시물 리스트 페이징) 검색기능과 페이지 정보가 포함된 클래스들 생성 (0) | 2021.09.18 |
(3) Mybatis를 사용하기위한 IBoardMapper 인터페이스 생성과 BoardMapper.xml생성 (0) | 2021.09.18 |