엔터프라이즈 개발에 사용되는 자바 오픈소스 프레임워크 프로젝트는 대부분 현장에서 일하는 개발자들이 자신의 필요를 위해 만들어서 실전에 적용하고, 다듬어 온 것을 다른 개발자들을 위해서 공개하면서 시작된 것입니다. 공개된 프레임워크는 이에 매력을 느낀 많은 개발자들의 협력을 통해 발전합니다. 하나의 프레임워크가 만들어지고 다양한 환경과 조건에서 사용돼 검증되고 발전하는 데는 오랜 시간과 많은 참여가 필요합니다. 여러 개발자들의 수고 덕분에 점점 더 편하고 효과적인 개발이 가능해지고 있습니다. JDBC 프로그래밍의 번거로움 때문에 좀더 쉬운 SQL/DB 프로그래밍을 고민해봤던 자바 개발자들에게 마이바티스와 같이 성숙한 SQL 매핑 프레임워크가 존재한다는 것은 고마운 일입니다. 오픈소스 프레임워크가 효과적으로 사용되려면 프레임워크 개발 못지않게 사용 방법을 배울 수 있는 문서와 자료도 중요합니다.
이동국 님은 오래 전부터 아이바티스, 마이바티스 공식 레퍼런스와 관련 서적의 번역에 많은 기여를 해 온 분입니다. 일찍이 아이바티스, 마이바티스에 매력을 느끼고 한국 자바 개발자들에게 보급하려고 힘써온 이동국 님의 다양한 프로젝트 적용 경험이 친절한 설명과 함께 책으로 엮여 나온다니 반갑습니다.
- 이일민 (이프릴 대표, 『토비의 스프링 3』 & 『토비의 스프링 3.1』 저자 )
아이바티스와 마이바티스는 정말 많이 사용되고 있는 프레임워크인데, 국내에 아이바티스에 대한 책이 단 한 권, 마이바티스는 한 권도 없는 것이 불편한 진실이었다. 이 책은 JDBC에서 마이바티스로 가는 과정을 담고 있어 왜 마이바티스를 사용하면 좋은지, 어떻게 사용하는지에 대해 초보자들에게 좋은 지침서가 될 것이다. 그리고 아이바티스를 이미 잘 알고 있는 분들은 이 책에서 아이바티스 코드와 마이바티스 코드를 비교 설명하는 내용을 보면 좀더 빠르게 익힐 수 있다. 뿐만 아니라 아이바티스에서 향상된 마이바티스만의 기능들도 있으니 아이바티스에서 그만 벗어나길 조심스럽게 권고해본다. 이 책을 읽으면서 알게 된 놀라운 사실은 『iBatis 인 액션』, 아이바티스 사용자 가이드, 마이바티스 3 사용자 가이드, 그리고 마이바티스 공식 사이트에 있는 한글로 된 레퍼런스 페이지 모두가 동국 님의 손길을 거쳐 간 작업물이란 점이다. 아이바티스부터 마이바티스까지 A to Z를 숙지하고 계신 분이 쓰신 책이니 만큼 좀더 깊이 있는 지식을 얻어 가길 바란다.
- 최윤석 (봄싹)
아이바티스는 참 오래된 기술입니다. 2010년에 아파치(Apache)에서 은퇴한 기술을 신규 프로젝트에 계속 사용하는 것은 프로젝트 유지 보수에 도움이 되지 않을 것입니다. 그렇다고 해서 좋다는 최신 기술을 프로젝트에 마구 가져다 쓰는 것 또한 프로젝트 참가자들의 기술 피로도를 높일 수 있습니다. 프로젝트 참여자는 기술적 어려움보다 비즈니스 문제에 집중할 수 있게 하는 것이 프로젝트 성공에 더 도움이 될 것입니다. 이런 면에서 마이바티스는 추천할 만한 퍼시스턴트 기술로 손꼽힙니다. 아이바티스에서 사용하던 SQL 매퍼(Mapper) 개념을 사용하므로 기존 기술을 사용하는 개발자들의 기술적 피로도가 상대적으로 낮습니다. 커미터들도 지속적으로 활동하고 버그 패치 및 개선 기능들도 계속 반영되고 있어 기술의 유지 보수에 대한 걱정도 크지 않습니다. 이 책은 기존 아이바티스에 익숙한 사람들을 위한 가이드와 새로운 기능에 대한 내용을 고루 담았습니다. 프레임워크 전도사로 활동했던 저자의 노하우가 독자들에게 잘 전달되기를 바랍니다.
- 임구근 (NHN 비즈니스 플랫폼 차장 )
이동국 님의 마이바티스 책이 나온다고 하니 정말 반갑습니다. 작년 초부터 마이바티스 책이 나오면 좋겠다고 생각했는데, 그 사이에 시간은 조금 지났지만 그래도 여전히 세계 최초 마이바티스 책입니다. 그동안 아이바티스를 써오신 분들이라면 이 책으로 개발이 중단된 프레임워크에서 가급적 손을 빨리 떼시고 새롭게 활발히 개발 중인 마이바티스와 친해지기 바랍니다. 그리고 자바로 아이바티스 같은 SQL 매퍼에 처음 입문하려는 분들도 이 책으로 시작하길 권장합니다. 이 책은 마이바티스 레퍼런스와는 달리, 마이바티스를 사용하는 프로젝트 설정 방법부터 시작해 마이바티스의 모든 기능을 다루는 책입니다. 또한 부록으로 다루는 아이바티스에서 마이바티스로 전환하는 방법이나, 마이바티스 편집기 사용 방법, 자주 볼 수 있는 에러 등 유용한 팁들도 특히 눈에 띕니다. 이 책 한 권으로 충분히 입문자와 기존 개발자에게 필요한 내용을 전달할 수 있을 것으로 보입니다.
- 백기선 (NHN 비즈니스 플랫폼 과장, 『쉽게 따라하는 자바 웹 개발』 저자, 『스프링 3 레시피』 역자)
일반적인 웹 애플리케이션을 개발하는 데 데이터베이스를 다루는 것은 매우 기본적이고, 빈번하며 중요합니다. 애플리케이션의 복잡도가 꾸준히 증가하는 요즘 이를 다루는 것 또한 어렵고 복잡하며 번거로워지고 있어 더욱 그렇습니다. 많은 프레임워크들이 이 문제를 해결하고자 노력했으나 적용이 어렵고, 학습 비용이 높거나 안정성이 떨어지는 경우가 많아 실제 학습하거나 적용하는 데 어려움이 많았습니다. 이 어려운 숙제를 해결하기 위해 아이바티스는 태어났습니다. 쉽고 편리하게 사용할 수 있는 아이바티스는 개발자들에게 축복과 같았습니다. 배우기도 쉽고 적용하기 어렵지 않아 국내외 많은 서비스와 기업에서 써왔습니다. 바로 그 아이바티스가 마이바티스라는 이름으로 돌아왔습니다. 더 쉽고 더 직관적이고 강력해진 모습으로 돌아왔습니다. 『iBatis 인 액션』을 국내에 소개했던 아이바티스 전도사인 저자의 친절한 설명을 통해 마이바티스를 더 쉽고 깊이 있게 만나보시기 바랍니다. 현업에서 같은 고민과 경험을 해 온 저자의 이야기를 통해 적은 노력으로 애플리케이션을 좀더 효율적으로 개발하고 건강하게 관리하는 기쁨을 느껴보시기를 바랍니다.
- 조영오 (티켓몬스터 팀장)
대한민국 소프트웨어 개발 환경은 점점 더 갈라파고스처럼 변해가고 있다. 세계적인 흐름과 다르게 변화 발전하고 있기 때문이다. 그 대표적인 예 중 하나가 이 책에서 다루는 마이바티스 프레임워크와 ORM 프레임워크에 대한 사용 비율이다. 세계적인 흐름은 하이버네이트 같은 ORM 프레임워크를 더 많이 사용하는데, 국내는 SI라는 구조적인 한계 때문에 마이바티스 프레임워크를 선호한다. 이런 상황에서 항상 의문이 생겼던 것은 국내에서 이처럼 마이바티스 프레임워크가 많이 사용되고 있음에도 이와 관련된 책이 없다는 점이었다. 지금까지 마이바티스 이전 버전인 아이바티스 번역서가 한 권 있을 뿐이었다. 이와 같은 상황에서 이 책의 출간은 더욱 중요하고 의미가 깊다. 마이바티스가 학습 비용이 낮다고 하지만 제대로 사용하려면 마이바티스 또한 학습에 일정 수준 이상의 노력과 시간을 투자해야 한다. 이 책은 저자뿐만 아니라 다양한 리뷰어들의 실무 적용 노하우가 곳곳에 숨어 있다. 그동안 잘못 사용해온 부분이 없는지 확인하고 제대로 학습할 수 있는 기회로 삼기를 바란다.
이 책을 통해 자바 객체와 관계형 데이터베이스 간의 매핑에 더 많은 관심이 생긴다면 그 다음 단계는 하이버네이트 같은 ORM 프레임워크에 도전해봤으면 좋겠다. 마이바티스가 갖지 못한 또 하나의 즐거움을 얻을 수 있을 것이다.
박재성 (NHN NEXT 교수, 『자바 세상의 빌드를 이끄는 메이븐』, 『Spring 프레임워크 워크북』 저자)