1. 마이바티스란?
-코드와 SQL문을 분리해서 사용 및 유지 보수를 편리하게 함.
-마이바티스 프레임워크의 특징 :
1)SQL 실행 결과를 자바 빈즈 또는 Map 객체에 매핑해 주는 Persistence 솔루션으로 관리함. 즉, SQL을 소스 코드가 아닌 XML로 분리함 -> XML 파일에 sql 실행문을 적는다.
2)SQL문과 프로그래밍 코드를 분리해서 구현함
3)데이터소스 기능과 트랜잭션 처리 기능을 제공
- 처리 과정 :
1)SqlMapConfig.xml에 각 기능별로 실행할 SQL 문을 SqlMap.xml에 미리 작성한 후 등록
cf)SqlMapConfig.xml에는 데이터베이스 연동 시 반환되는 값을 저장할 빈이나 트랜잭션, 데이터소스 등 마이바티스 관련 정보를 설정해줘야한다.
2)애플리케이션에서 데이터베이스와 연동하는데 필요한 데이터를 각각의 매개변수에 저장한 후 마이바티스에 전달
3)애플리케이션에서 요청한 SQL문을 SqlMap.xml에서 선택
4)전달한 매개변수와 선택한 SQL문을 결합
5)매개변수와 결합된 SQL문을 DBMS에서 실행
6)DBMS에서 반환된 데이터를 애플리케이션에서 제공하는 적당한 매개변수에 저장한 후 반환






cf)마이바티스로 조건값 전달 방법 : MemberDAO에서 메서드 호출 시 전달된 조건 값은 매개변수 이름으로 SQL문의 조건식에 전달 / SQL문에서 조건값 사용방법 - #{전달된 매개변수 이름}

cf) resultType일 때는 하나의 행만 출력될 때, resultMap은 여러 개의 행이 출력될 때이다. 바꿔쓰면 에러 발생한다.
cf)마이바티스는 수동 commit이다.
5. 마이바티스의 동적 SQL문 사용하기
-마이바티스의 동적 SQL문의 특징 :
1)주로 SQL문의 조건절에서 사용
2)조건절에 조건을 동적으로 추가
3)JSTL과 XML 기반으로 덩적 SQL문을 작성
-마이바티스의 동적 SQL문의 구성 요소 : if / choose(when,otherwise) / trim(where, set)/ foreach


cf)SQL문에 List 인스턴스나 배열을 전달하면 자동으로 Map에 전달되어 이름을 키로 사용합니다. List 인스턴스는 list를 키로 사용하고 배열은 array를 키로 사용한다.



'Spring' 카테고리의 다른 글
| 25장 스프링 트랜잭션 기능 사용하기 (0) | 2024.02.07 |
|---|---|
| 24장 스프링과 마이바티스 연동하기 (0) | 2024.02.05 |
| 22장 스프링 JDBC 기능 (0) | 2024.02.03 |
| 21장 스프링 MVC 기능 (0) | 2024.01.30 |
| 20장 스프링 AOP 기능 (0) | 2024.01.30 |