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를 키로 사용한다.

<sql>, <include>태그로 중복 제거

'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

+ Recent posts