Ibatis에서 mybatis로 일괄 변환 (100% 아님) 본문

프로그램/JAVA

Ibatis에서 mybatis로 일괄 변환 (100% 아님)

반응형

ibatis xml파일을 mybatis xml로 변환 하는 툴을 이용하는 방법이다.

 

해당 툴을 다운로드 하기 위해서 https://github.com/mybatis/ibatis2mybatis 로 이동한다.

여기서 다운로드를 할 수도 있지만 이클립스를 사용하고 있기에  git clone을 이용해 보았다.

미리 위의 붉은 색 표시를 클릭해서 주소를 복사하자. git 연결 시 자동으로 들어오게 끔..

 

 

이클립스에서 import > Git > Projects from Git 을 선택하고 next버튼 클릭, Clone URI 선택후 Next 버튼 클릭하면 맨 마지막 처럼 자동으로 주소가 들어간다. 만약에 여기서 자동으로 안들어가면 붙여넣기를 해서 넣어도 무방하다.

 

그다음 Next버튼, 그리고 저장한 폴더 지정후 Finish를 하면 소스를 내려받는다. 그다음 창에서 첫번째를 선택하고 진행하고 싶지만 project를 뜨지 않아서 두번째 를 선택한 뒤에 finish를 클릭하면 창이 뜨는데 그냥 창을 닫는다. 

로컬pc로 파일을 내려왔지만 아직 프로젝트에 등록이 되지 않아서 다시 import를 진행한다. 

import > maven > Existing Maven Project를 선택 후 Next 버튼,  다운로드 받은 위치를 지정하고 finish를 클릭하면 드디어 화면에 나타난다. (여기서 꼭 이클립스 프로젝트로 등록하지 않아도 되긴 하는데 사용 측면에서 편해서 이렇게 함)

 

이제  변환할 소스를 복사하자 아래 그림과 같이 source 폴더가 변환 전 파일이고, destination  폴더가 변환된 파일이 들어가는 곳이다. 

일단 본인은 폴더 째로 복사를 했다. 위에서 보면 sqlmap-maria 이다. 

ant로 실행해 봤더니 하나도 처리가 안되었다. 

xml 파일만 올린다면 바로 실행이 되겠지만 하위 폴더라 찾지를 못하는 것이다.

그래서 소스르 좀 건드려 봤다. build.xml 파일을 열어서 아래와 같이 수정을 하였다.  

includes 대상을 하위 폴더로 영역을 넓혔다.

<xslt basedir="source" style="migrate.xslt" includes="**/*.xml" destdir="destination" extension=".xml"/>

다시 실행해보았다. 이번에는 소스 오류가 발생했다.

확인을 해보니  ibatis.com은 이제 사라진거 같다. 
iBATIS.com 와 www.ibatis.com 를 모두 ibatis.apache.org 로 변환이 필요하다. notepad++ 등으로 일괄 수정하자. 

이제 모든 게 다 준비가 된 거 같다. ant 를 이용해서 build 해보자. 

 

헉 이게 뭐냐?  아래와 같은 오류가 발생하면서 실패가 떨어졌다. 보안 문제로 인한 뭐라뭐라... 

다른 사이트를 찾아가면서 해보려고 했으나 방법을 찾지 못했다.

그래서 어쩔 수 없이 별도로 ant를 다운받아서 dos 상에서 처리해야 만 했다.

ant를 받으러 가자.  http://ant.apache.org/ 

 

난 지금 java 8을 쓰고 있어 노란색 칠을 다운 받았다. 

다운로드 받아서 특정 위치에 저장하고 시스템 환경변수에 아래와 같이 추가하고 Path도 추가하였다.

 

이제 dos명령창을 띄우고 변환 소스가 있는 곳으로 이동해보자.

이동한 이후에 ant 를 입력하고 실행 !!!

실행은 성공적으로 진행이 되었다. 하지만 중간중간 오류가 나면서 100% 변환은 안되었다. 이것까지 되었으면 좋았으련만

그래도 이게 어디냐? 라는 맘으로 즐거웠다. 

거의 동일한 ant 를 이용했는데 왜 이클립스에서는 안되는지 모르겠다. 

이클립스에서만 되면 이렇게 다른 방법으로 할 필요가 없는데..  이 문제점을 아시는 분이 있다면 댓글로 알려주면 감사하겠다. 

 

이것으로 쿼리 xml 파일에 대해서 ibatis에서  mybatis 으로 일괄 변경해보았다.

즐거운 코딩 되시길...

 

반응형

프로그램/JAVA Related Articles

MORE

Comments