📌 01. Mybatis란?
Mybatis란 DB 프로그래밍을 좀 더 쉽고 간단하게 할 수 있도록 도와 주는 프레임워크 이다.
Mybatis는 프로그램코드와 sql쿼리를 분리할 수 있는 장점을 가진다.
따라서 복잡한 쿼리나 역동적인 쿼리문에 강하다.
📌 02. Mybatis를 통한 DB연동
- VO클래스 생성
- DB에 연동하기 위해 내가 가져오고자 하는 데이터를 한번에 관리할 수 있는
VO클래스를 먼저 만드는 것은 동일하다. - 매핑(mapping)
<mappers> <mapper resource="config/mybatis/mapper/인스턴스명" /> </mappers>
- Mybatis를 통한 db연동을 위해선 먼저 매핑(mapping)을 해줘야 한다.
DB에 연동하기 위해 어떤 mapper인스턴스를 사용할지를 알려주는 단계이다. - Mapper인스턴스 정의여기서 주의깊게 봐야할 부분은 namespace부분이다.
namespace는 해당 mapper인스턴스의 이름과 같은 것이다.
해당 mapper를 호출할때 사용된다.
select문은 실제로 DB에 쿼리문을 요청하는 부분이다.
위 코드는 '데이터 조회'의 한 예시이다. <mapper namespace="sawon"> <select id="sawon_list" resultType="vo.SawonVO"> select * from sawon </select>
- Mapper란 쿼리문이 정의되어 있는 인스턴스이다.
Mapper는 DB에 쿼리문을 요청하고 결과를 돌려받는다. - DAO정의
// 1. SqlSessionFactory객체를 생성 SqlSessionFactory factory; // 2. SqlSessionFactory객체를 정의 public DeptDAO() { factory = MyBatisConnector.getInstance().getFactory(); } // 3. _singleton를 정의 static DeptDAO single = null; public static DeptDAO getInstance() { if (single == null) single = new DeptDAO(); return single; }
- DAO를 정의할때는 3가지 준비사항이 있다.
첫째, 먼저 SqlSessionFactory객체를 생성해준다.
둘째, 생성자를 통하여 SqlSessionFactory객체를 정의한다.
셋째, _singleton를 정의한다. - Servlet 정의
- dao클래스를 통해 DB에서 가져온 데이터를 가져온다.
- JSP파일 정의
- DB에서 가져온 데이터를 실제로 화면상에 나타내기 위하여
Servlet에서 JSP파일로 데이터를 넘겨준다.
'Java > JSP' 카테고리의 다른 글
Day07_Mybatis_select (1) | 2022.06.03 |
---|---|
Day05_AJAX (2) | 2022.05.31 |
Day04_EL표기법 (0) | 2022.05.31 |
Day03_DB연동 (0) | 2021.12.30 |
Day02_VO클래스 (0) | 2021.12.30 |