과거의 ibatis가 MyBatis로 업그레이드 되면서 요즘 개발소스들을 보면 70% 이상은 MyBatis를 사용하는 것으로 보인다.
그만큼 기본적으로 알아두면 좋은 것 같아서 한번 정리해 보려고 한다.
MyBatis는 JAVA 와 DATA BASE 연동을 단순화 해주는 SQL Mapper 프레임 워크이다. SQL 쿼리와 JAVA Object를 매핑해준느 역할을 하며, 개발자가 직접 SQL 쿼리를 작성하고 실행할 수 있도록 조와둔다.이는 JPA나 Hibernate와 같은 ORM(Object-Relational Mapping) 프레임 워크와 다르게 SQL을 투명하게 다룰 수 있는 장점이 있다.
MyBatis의 특징
1. SQL 투명성: 데이터베이스와 객체간의 매피을 자동으로 처리하여 개발자가 직접 SQL을 작성하여 쿼리를 제어할 수 있다. 복잡한 SQL쿼리가 필요한 경우 특히 유용하다.
2.간단한 설정: XML 또는 어노테이션을 사용하여 매핑을 정의할 수 있으며 복잡한 데이터베이스 연동로직을 간ㄷ나하게 구성할 수 있다.
3.트랜잭션 관리 및 캐싱: 트랜잭션 관리 및 1차/2차 캐싱 기능도 제공한다.
4.동적 SQL 지원: if, choose, foreach 등의 태그를 사용하여 SQL 쿼리를 동적으로 생성할 수 있다.
MyBatis의 단점
1. 코드 양 증가: SQL 과 매핑 파일을 별도로 작성해야 하기 때문에 코드양이 많아진다.
2.유지보수 어려움: 대규모 프로젝트에서 SQL쿼리와 JAVA 코드가 분리되어 있는 경우 유지보수가 어렵다
3. 매핑 관리 : 복잡한 객체 간 관계를 직접 매핑하여 관리해야 한다.
MyBatis는 SQL을 중시하는 애플리케이션에서 매우 좋은 프레임워크이다. 개발자가 SQL 쿼리를 완전하게 제어할 수 있으며, 자바 객체와 데이터베이스 간의 간단한 매핑을 제공한다. 데이터베이스와의 상호작용이 복잡한 애플리케이션에서 유연하고 강력한 도구로 활용될 수 있다.
'Programming > MyBatis' 카테고리의 다른 글
iBATIS Cache 에 대하여 (0) | 2024.12.03 |
---|---|
MyBatis 로 대규모 데이터 처리 (0) | 2024.11.18 |