목차
1. BoardDao란?
2. 파일 생성하기
3. 코드 살펴보기
3-1. SqlSessionFactory 주입과 생성자
3-2. 게시글 전체 목록 조회 (selectAll)
4. 마무리하며
1. BoardDao란?
이번 글에서는 board-mapper.xml 과 연결되는 DAO(Data Access Object) 파일을 살펴보겠습니다.
DAO는 데이터베이스와 직접 통신하며 SQL을 실행하는 역할을 담당합니다.
Controller나 Service에서 필요한 데이터를 가져오거나 저장하는 모든 작업은 DAO를 통해 수행됩니다.
MaBatis에서는 DAO 내부에서 SqlSession을 사용하여 Mapper에 작성된 SQL과 매핑하고, 이를 호출하는 방식으로 구현합니다.
2. 파일 생성하기
BoardDao.java 는 아래의 위치에 생성했습니다.

3. 코드 살펴보기
3-1. SqlSessionFactory 주입과 생성자
DAO는 DB 접속을 위해 MyBatis의 SqlSessionFactory를 필요로 합니다.
아래는 SelSessionFactory를 주입하는 코드입니다.
public class BoardDao {
private SqlSessionFactory sqlSessionFactory;
// 생성자에서 SqlSessionFactory 주입
public BoardDao(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
}
}
3-2. 게시글 전체 목록 조회 (selectAll)
게시글 목록을 조회하는 코드입니다.
이전 글에서 작성했던 board-mapper.xml의 selectAll 쿼리를 호출하여 전체 게시글 목록을 가져옵니다.
MyBatis의 selectList() 메소드를 사용해서 여러 개의 게시글을 조회하는 것이 핵심입니다.
// 게시글 목록 조회
public List<BoardVo> selectAll() {
try (SqlSession session = sqlSessionFactory.openSession()) {
return session.selectList("board.selectAll");
}
}
4. 마무리하며
이번 글에서는 BoardDao를 통해 게시판의 전체 목록 조회 기능이 어떻게 구현되는지 살펴보았습니다.
DAO는 Mapper.xml 과 직접 연결되어 SQL을 실행하는 핵심 계층입니다.
DAO는 백엔드 흐름을 완성시키는 마지막 연결 고리라고 할 수 있습니다.
DAO에서 Mapper와 연결하지 않는다면, 아무리 쿼리를 잘 작성해도 수행이 되지 않기 때문입니다.
특히 SqlSessionFactory를 통해 세션을 열고, Mapper의 id를 호출하여 결과를 반환하는 구조는 MyBatis 기반 프로젝트 전체에서 반복적으로 사용되는 중요한 패턴입니다.
DAO의 구조를 잘 알아두기를 바랍니다.
감사합니다.
📌 참고
[개발 실습/CRUD 게시판 만들기] - 18. 게시판 백엔드 기초 : board-mapper.xml로 매핑 구조 이해하기
18. 게시판 백엔드 기초 : board-mapper.xml로 매핑 구조 이해하기
목차1. board-mapper.xml 이란? 2. 파일 생성하기3. 코드 살펴보기 3-1. Mapper 파일 구조 3-2. namespace와 id 3-3. resultType와 SQL 매핑 3-4. 게시글 전체 조회 쿼리4. 마무리하며 1. board-mapper.xml 이란?MyBatis에서는
silverji.tistory.com
'개발 실습 > CRUD 게시판 만들기' 카테고리의 다른 글
| 20. 게시판 목록 백단 구현 : BoardListServlet 동작 원리 분석 (1) | 2025.12.14 |
|---|---|
| 18. 게시판 백엔드 기초 : board-mapper.xml로 매핑 구조 이해하기 (7) | 2025.11.01 |
| 17. 게시판 백엔드 기초 : BoardVo.java로 데이터 객체 이해하기 (12) | 2025.10.25 |
| 16. 게시판 상세보기 화면 구현 : 버튼, 삭제, 필수입력(required), 강조(strong) 활용 (8) | 2025.10.18 |
| [JAVA]15. 게시판 작성 화면 구현 : JSP 입력 폼(form) 구성 (28) | 2025.08.30 |