# 마이바티스
- DB에 접근하는 작업 및 자바의 객체와 SQL쿼리문 사이의 자동 매핑을 지원하는 프레임 워크
- 인터넷 사용자와 기능의 복잡도가 증가함에따라 기존의 JDBC방식에서 마이바티스등의 프레임워크 방식을 사용하게 되었다.
마이바티스는 Sql 문장을 별도로 XML에서 분리하여 Sql Developer에서처럼 표준화된 방법으로 사용할 수 있도록 한다.
기존의 JDBC방법처럼 Sql코드 자체를 수정해도 Dao에서 복잡하게 수정할 필요가 없다는 장점이 있다.
기능 | |
Sql을 소스 코드가 아닌 XML 파일로 별도 분리하여 관리 | |
Sql문과 프로그래밍 코드를 분리하여 구현
|
|
데이터 소스와 트랜젝션 처리 기능을 제공한다. |
[참고] JNDI는 자바와 DB를 연결하는 인터페이스로, 서로 간의 연결을 원활하게하는 역할을 한다.
구성 요소
요소
|
의미
|
|
sqlMapConfig
|
DB접속 주소나 맵퍼 (XML) 파일의 경로 정보를 포함하는 설정 파일
|
|
sqlSession
|
Sql처리 객체
|
|
sqlSession factoryBuilder
|
군집 형태(Factory)의 설정 파일을 해석하여 맵퍼에 접근하는 FactoryBuilder 클래스
|
|
sqlSessionFactory
|
SqlSession 객체 생성을 돕는 클래스
|
# 동작 순서

(1) SqlMapConfig.xml에 각 기능별로 실행할 SQL문을 SqlMap.xml에 미리 작성하여 등록
(2) 애플리케이션에서 데이터베이스와 연동하는데 필요한 데이터를 각각의 매개변수에 저장한 후 마이바티스에 저장
(3) 애플리케이션에서 요청한 SQL문을 SqlMap.xml에서 선택
(4) 전달한 매개변수와 선택한 SQL문을 결합
(5) 매개변수와 결합된 SQL문을 DBMS에서 실행
(6) DBMS에서 반환된 데이터를 애플리케이션에서 제공하는 타입의 매개변수에 저장한 뒤 반환
'Web > Spring' 카테고리의 다른 글
[Spring] XML 설정 파일 (0) | 2025.01.09 |
---|---|
[Spring] Restful API (0) | 2025.01.09 |
[Spring] 관점지향 프로그래밍 (0) | 2025.01.09 |
[Spring] 어노테이션 (0) | 2025.01.09 |
[Spring] MVC 디자인 패턴 (0) | 2025.01.09 |