[Spring] 마이바티스(MyBatis)

고지훈·2022년 2월 6일
1

Spring

목록 보기
21/26
post-thumbnail

마이바티스(MyBatis)란?

마이바티스는 기존의 JDBC를 이용하여 개발하는 방식에 비해 개발자의 부담을 덜어 주고 생산성을 향상시켜준다. JDBC를 이용하여 프로그래밍을 하는 방식은 클래스나 JSP와 같은 코드 안에 SQL문을 작성하는 방식이였다. 따라서 SQL의 변경 등이 발생할 경우 프로그램을 수정해야하기 때문에 유연성이 좋지 못하고 여러 가지 코드가 복잡하게 섞여 있어서 가독성이 매우 떨어졌다. 마이바티스는 SQL을 XML파일에 작성하기 때문에 SQL의 변환이 자유롭고 가독성도 좋다는 장점이 있다.

매퍼(Mapper)

매퍼는 애플리케이션에서 사용할 SQL을 담고 있는 XML파일을 의미한다. 매퍼를 등록할 때는 매퍼 파일을 하나씩 따로 등록할 수 있지만 하나의 애플리케이션에는 일반적으로 많은 수의 매퍼 파일이 존재하고, 이를 하나씩 등록하기 어렵다. 그러므로 패턴을 기반으로 한번에 등록하는 것이 좋다.

매퍼 영역

마이바티스는 데이터 접근 객체인 DAO(Data Access Object)를 만드는 것보다 SqlSessionDaoSupportSqlSessionTemplate를 사용하는 것을 권장한다. 이렇게 함으로써 마이바티스 스프링 연동 모듈은 다른 빈에 직접 주입할 수 있는 매퍼를 생성할 수 있다. 또한 매퍼를 사용하면 일일이 DAO를 만들지 않고 인터페이스만을 이용해 좀 더 편하게 개발할 수 있다.

profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글