Spring & Spring Boot

MyBatis란?

김먼저 2022. 6. 7. 10:36

MyBatis란?

SQL Mapping Framework.

 

 

1. SQL Mapping - Java코드로부터 SQL문을 분리해서 관리.

 

- Java코드와 SQL코드를 맵핑하는 것을 말한다.

- SQL을 별도의 XML파일로 분리한다.(ex. *Mapper.xml)

- 매개변수 설정과 쿼리 결과를 읽어오는 코드를 제거.(ex. setInt(), getInt())

- 작성할 코드가 줄어서 생산성 향상 & 유지 보수 편리.

- XML에 있는 SQL을 간단한 코드로 사용할 수 있다. → 쉽고 간편하다.

 

 

2. Spring과 연동 매커니즘.

 

MyBatis만 사용할 수 있지만, 일반적으로 Spring과 연동해서 사용하기 때문에 'mybatis-spring'이 필요합니다.

 

3. MyBatis 사용 전과 후 비교하기.

 

UserMapper.xml(위)와 UserDaoImpl(아래)

1) @Repository - 해당 클래스(DAO)를 루트컨테이너에 Bean 객체로 생성해주는 어노테이션입니다.

(나중에 어노테이션과 레이어는 따로 포스팅하겠습니다.)

 

2) UserDaoImpl inser메서드에서 namespace + "xml파일의 id", user는 VALUES의 정보를 담은 객체입니다.

 

생소하지만 직관적으로 어떤 방식인지 어느정도는 알 수 있습니다. (예제 몇개만 풀어보면 쉽게 익힐 수 있습니다.)