- 마이바티스 쿼리 테스트에만 집중할 수 있는 독립적인 환경 구축 방법을 제공합니다. 🧪
- 웹 컨트롤러나 서비스 계층 없이 오직 마이바티스 기능 학습 및 테스트에 최적화되어 있습니다. 🎯
- 주요 의존성으로
mybatis-spring-boot-starter-test, docker-compose, testcontainers를 활용합니다. 🐳
application.yml을 통해 매퍼 XML 파일 위치(mybatis.mapper-locations)와 엔티티/VO 패키지(mybatis.type-aliases-package)를 설정합니다. ⚙️
schema.sql 파일을 리소스 폴더에 두어 데이터베이스 스키마를 자동으로 초기화합니다. 💾
- 자바 매퍼 인터페이스는
@Mapper 어노테이션과 XML 매퍼의 namespace 및 id와 연결됩니다. 🔗
logging.level 설정을 통해 마이바티스 쿼리 실행 로그와 파라미터를 상세하게 확인할 수 있습니다. 📝
@Testcontainers, @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE), @MybatisTest 어노테이션을 사용하여 테스트 코드를 작성합니다. 🚀
- 이 프로젝트는 마이바티스 공식 문서의 다양한 기능(예: SQL 세션, 타입 핸들러, 결과 맵)을 직접 실험하고 학습하는 데 유용합니다. 📚
- 특히
UUID와 같이 마이바티스가 기본 지원하지 않는 타입에 대한 커스텀 TypeHandler 구현 예시를 통해 확장성을 보여줍니다. 🛠️
데브허브 | DEVHUB | MyBatis만 테스트해 볼 프로젝트 만들기