2010년 2월 17일 수요일

Eclipse + IBator : dao, model, sqpmap 파일 생성

이클립스+Spring 기반 프레임웍을 개발 중에 DB 처리를 IBatis를 이용하여 구현하기로 결정을 하고, 개발 생산성을 위해서 IBator를 이용하여, model, dao, sqlmap 파일들을 자동 생성하는 기능을 추가하기로 결정하였다.
UI를 이용하여 Ibator configuration 파일을 생성하고, 플러그인 내부에서 IBator 객체를 생성한 후 generate() 메서드를 호출하는 방식으로 구현하였다. 하지만 아래와 같은 제약사항이 있어, IBator.generate() 메서드는 dao, model 클래스를 merge 시키지 못했다. merge시키지 못했다는 의미는 파일을 생성할 때마다 이전에 dao나 model 클래스를 수정하면 수정한 내용이 사라진다는 이야기다. 매번 새롭게 파일을 생성한다.


실행시 주의사항


  1. ibator는 XML 파일이 있는 경우에 기존 파일을 merge하여 생성한다.

  2. ibator는 기본적으로 자바 파일을 merge하지 않지만 ibator eclipse plugin으로 실행하면 merge 하여 저장된다.



추측컨데 Ibator eclipse plugin은 JDT의 AST 기능으로 구현되었기 때문에 merge가 가능한 것 같다.

따라서 프레임웍에서는 Ibator.generate() 를 실행하지 않고 ibator eclipse plugin의 action을 호출하는 것으로 구현하였다.

Resources:
http://ibatis.apache.org/docs/tools/ibator/

댓글 없음:

댓글 쓰기