MyBatis 간단 정리

Lilac-_-P·2023년 12월 11일
0

스프링 DB

목록 보기
9/9

MyBatis는 이전 글의 주제였던 JDBC Template보다 더 많은 기능을 제공하는 SQL Mapper이다. 기본적으로 JDBC Template이 제공하는 대부분의 기능을 제공하지만, 특히 SQL을 XML에 편리하게 작성할 수 있고 JDBC Template이 해결하지 못한 동적 쿼리를 편리하게 작성할 수 있다.

JDBC Template과 MyBatis의 SQL 작성을 단적으로 비교해보자.

여러줄에 걸친 SQL을 JDBC Template에서는 자바코드로 작성하기 때문에 + 연산자를 통해 나눠줘야하지만, MyBatis의 경우 XML에 SQL을 작성하기 때문에 여러줄로 작성해도 불편하지 않다.

또, MyBatis를 사용하는 가장 큰 이유인 동적쿼리도 다음과 같이 작성할 수 있다.

JDBC Template에서 동적쿼리를 작성하려면 모든 조건에 대해 분기문을 나눠서 String 타입의 SQL에 조건 문자열을 더했어야했다. MyBatis는 이와 다르게 XML 내부에서 where 태그와 if 태그 등을 사용하여 상대적으로 JDBC Template에 비해 편리하게 동적쿼리를 작성할 수 있다.

참고.
MyBatis의 단점중 하나는 스프링에서 자체적으로 제공하는 기술이 아니기 때문에 사용을 위해 일부 설정이 필요하다는 것이다. 하지만, 설정을 감안하더라도 동적쿼리를 편리하게 작성할 수 있기 때문에 사용하는 것이 좋다.

profile
열심히 하자

0개의 댓글