* DAO (Data Access Object) : 데이터 접근 객체
- 서비스 <-> DAO <-> Mapper
* Service : 컨트롤러(서블릿)의 요청사항을 DAO에 전달
1. BoardDAO 작성하기.
1-1. com.myp.persistence 패키지 생성
(main/java 디렉토리에 새로운 패키지 생성)
(패키지 네임은 persistence)
(persistence 폴더에 Interface 생성)
(인터페이스 네임은 BoardDAO)
1-2. DAO Interface 작성
(CRUD와 전체목록 구성을 위한 메소드 작성)
package com.myp.persistence;
import java.util.List;
import com.myp.domain.BoardVO;
public interface BoardDAO {
public void create(BoardVO vo) throws Exception;
public BoardVO read(Integer bno) throws Exception;
public void update(BoardVO vo) throws Exception;
public void delete(Integer bno) throws Exception;
public List<BoardVO> listAll() throws Exception;
}
1-3. DAO 인퍼페이스를 구현한 BoardDAOImpl 클래스 작성
(persistence 패키지에 New -> Class)
(Interfaces -> Add..)
(BoardDAO 검색 후 등록)
(클래스 네임은 BoardDAOImpl로 생성)
1-4. BoardDAOImpl 클래스 작성
(Sqlsession의 메소드를 이용한 간단한 DAO 구성)
- 전체코드
package com.myp.persistence;
import java.util.List;
import javax.inject.Inject;
import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;
import com.myp.domain.BoardVO;
@Repository
public class BoardDAOImpl implements BoardDAO {
@Inject
private SqlSession session;
private static String namespace = "com.myp.mapper.BoardMapper";
@Override
public void create(BoardVO vo) throws Exception {
session.insert(namespace+".create", vo);
}
@Override
public BoardVO read(Integer bno) throws Exception {
return session.selectOne(namespace + ".read", bno);
}
@Override
public void update(BoardVO vo) throws Exception {
session.update(namespace+".update", vo);
}
@Override
public void delete(Integer bno) throws Exception {
session.delete(namespace+".delete", bno);
}
@Override
public List<BoardVO> listAll() throws Exception {
return session.selectList(namespace + ".listAll");
}
}
1-5. root-context.xml 베이스 패키지 수정
(주소값을 "com.myp"로 변경)
'[Spring+JSP]CRUD 게시판 만들기' 카테고리의 다른 글
[스프링]MVC2방식 CRUD 게시판 만들기 8.게시판 목록페이지 구현 (0) | 2018.07.10 |
---|---|
[스프링]MVC2방식 CRUD 게시판 만들기 7.Service 작성 (0) | 2018.07.10 |
[스프링]MVC2방식 CRUD 게시판 만들기 5.board-Mapper.xml 작성(심화) (0) | 2018.07.09 |
[스프링]MVC2방식 CRUD 게시판 만들기 5.board-Mapper.xml 작성 (0) | 2018.07.09 |
[스프링]MVC2방식 CRUD 게시판 만들기 5.VO(DTO) 생성 (0) | 2018.07.09 |