본문 바로가기

IT공부/SPRING

BoardDao를 BoardMapper로 바꿔준다.

board패키지 안에 mapper패키지를 생성후 BoardMapper라는 인터페이스를 생성한다.


기존에 있던 IBoardDao에 있는 내용을 BoardMapper인터페이스에 그대로 붙여넣어준다.

// 게시판 건수 조회 (R:Read)
int getBoardCount(BoardSearchVO searchVO) throws SQLException;

// 게시판 목록조회(R:Read)
List<BoardVO> getBoardList(BoardSearchVO searchVO) throws SQLException;

// 게시판 글 상세조회(R:Read)
BoardVO getBoard(int bo_no) throws SQLException;

// PreparedStatement.executeUpdate() => n개가 update 됬는지, n개가 delete됬는지, n개가 insert 됬는지 리턴! 
// 게시판 글 등록(C:Create)
int insertBoard(BoardVO board) throws SQLException;

// 게시판 글 수정(U:Update)
int updateBoard(BoardVO board) throws SQLException;

// 게시판 삭제 (  BO_DEL_YN = 'Y') 
int deleteBoard(int bo_no) throws SQLException;

// 조회수 증가 ( bo_hit 1증가 ) 
int increaseBoardHit(int bo_no) throws SQLException;


이후 BoardServiceImpl에서 불러오는 Dao설정을 Mapper로 변경해준다.


기존 다오는 

private BoardDao boardDao = BoardDao.getInstance(); 

이렇게 호출했지만 BoardMapper는


private BoardMapper boardMapper; 이렇게 선언을 해준다.


인터페이스라 인스턴스가 필요없음 선언만 해준다. 

문자열로 호출하지않고 메소드 호출하듯 부르면 된다.(문자열로 호출시 오타찾기가 어렵기 때문이다.)


기존 내용은 아래와같다.

@Override
public List<BoardVO> getBoardList(BoardSearchVO searchVO) throws Exception {
	
	SqlSession session = sqlSessionFactory.openSession();
	
	int tot_cnt = boardDao.getBoardCount(session, searchVO);
	searchVO.setting(tot_cnt);		
	List<BoardVO> list = boardDao.getBoardList(session, searchVO);	// session추가.
	session.close();
	
	return list;
}


변경후의 내용은 아래처럼 변경해준다.

@Override public List<BoardVO> getBoardList(BoardSearchVO searchVO) throws Exception { SqlSession session = sqlSessionFactory.openSession(); boardMapper = session.getMapper(BoardMapper.class); int tot_cnt = boardMapper.getBoardCount(searchVO); searchVO.setting(tot_cnt); List<BoardVO> list = boardMapper.getBoardList(searchVO); session.close(); return list; }


그 외의 모든 메소드도 변경해주면 다오는 더이상 필요가 없어졌다.

'IT공부 > SPRING' 카테고리의 다른 글

DI AOP MVC  (0) 2019.08.09
스프링 4회차.  (0) 2019.08.07
mybatis에서 로그를 보기위해 Log4j 설치하기.  (0) 2019.08.05
스프링 2회차.  (0) 2019.08.05
MyBatis이용한 기존 쿼리문 변경.  (0) 2019.08.02