sitelink1 | |
---|---|
sitelink2 | |
extra_vars5 | |
extra_vars6 |
* mybatis generator 란?
해당 db의 테이블들을 기준으로 하여 persistence 레이어에 필요한 기본적인 object와 맵핑파일을 생성해주는 툴이다.
vo(model), mapper(dao), xml(query)을 생성해준다.
* build(첨부파일로 mybatis-generator-core-1.3.0-SNAPSHOT.jar 와 xml 소스를 등록했으니 build가 어려운 분들은 첨부된 파일을 사용하면 되겠다.)
전신인 ibatis가 mybatis로 개명을 했고 그에 따라 ibator라로 있던 생성툴이 mybatis generator로 바뀐 것 이다.
즉 ibator 1.2 버전 다음이 mybatis generator 이며 버전도 1.3 이다.
http://code.google.com/p/mybatis/wiki/Generator 가 공식 사이트이나 downloads를 찾아봐도 바이너리는 찾을 수 없을 것이다.
(아마도 정식버전이 아니라서 그런지는 모르겠다.)
소스 저장소에서 소스를 받아 빌딩을 해줘야 한다.
소스 저장소는 http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/core/ 이다.
svn이므로 적당한 svn 클라이언트를 사용하여 checkout해준다. (서브버전 사용법은 패스)
checkout을 완료하면 pom.xml 이 보일것인데 maven으로 빌딩과 테스팅까지 해볼 수 있다.(maven 사용법은 패스)
(maven이 설치되어 있다면 pom.xml 이 있는 디렉토리에서 mvn package 해주면 된다.)
우리에게 필요한 파일은 mybatis-generator-coretargetmybatis-generator-core-1.3.0-SNAPSHOT.jar 라는 실행형 jar파일 1개이다.
위의 파일을 편한 작업공간 디렉토리로 이동한다.(필자는 c:myworkspace로 정했다.)
* xml 작성
이제 핵심인 설정파일을 작성해야 한다.
01.
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02.
<!DOCTYPE generatorConfiguration PUBLIC
03.
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
05.
06.
<
generatorConfiguration
>
07.
<
context
id
=
"yhjung"
targetRuntime
=
"MyBatis3"
defaultModelType
=
"flat"
>
08.
<
property
name
=
"suppressTypeWarnings"
value
=
"true"
/>
09.
10.
<
plugin
type
=
"org.mybatis.generator.plugins.EqualsHashCodePlugin"
/>
11.
12.
<
jdbcConnection
driverClass
=
"oracle.jdbc.driver.OracleDriver"
13.
connectionURL
=
"jdbc:oracle:thin:@192.168.0.2:1521:ora11"
userId
=
"scott"
password
=
"해당비밀번호"
>
14.
15.
</
jdbcConnection
>
16.
17.
<
javaModelGenerator
targetPackage
=
"com.yhjung.test.model"
targetProject
=
"yhjung"
>
18.
<
property
name
=
"enableSubPackages"
value
=
"true"
/>
19.
<
property
name
=
"trimStrings"
value
=
"true"
/>
20.
</
javaModelGenerator
>
21.
22.
<
sqlMapGenerator
targetPackage
=
"com.yhjung.test.xml"
targetProject
=
"yhjung"
>
23.
<
property
name
=
"enableSubPackages"
value
=
"true"
/>
24.
</
sqlMapGenerator
>
25.
26.
<
daoGenerator
type
=
"MAPPER"
targetPackage
=
"com.yhjung.test.dao"
targetProject
=
"yhjung"
>
27.
<
property
name
=
"enableSubPackages"
value
=
"true"
/>
28.
</
daoGenerator
>
29.
30.
<
table
tableName
=
"Emp"
/>
31.
<
table
tableName
=
"Dept"
/>
32.
</
context
>
33.
</
generatorConfiguration
>
id 가 yhjung이며 targetRuntime 이 mybatis3 라는 의미다. (ibatis2 와 mybatis3은 많이 다르다!)
jdbcConnection 항목은 해당툴이 데이터베이스에 접근하여 클래스 정보를 읽어야 함으로 핵심이 되는 항목이다.
ibator 1.2 에서는 classEntry 라는 엘리먼트가 가능했는데 이번버전에서는 오류가 발생했다.
(classEntry는 명시적으로 jdbc드라이버를 설정할 수 있는 기능을 제공하는 엘리먼트이다)
그런 문제로 인해 oracle jdbc driver 을 jre의 ext디렉토리(C:Program FilesJavajre6libext)에 넣어버렸다^^(단순히 classpath을 잡아주면 되는 문제이다. 기본적으로 ext디렉로리는 classpath에 등록되어 있다.)
javaModelGenerator항목은 모델이 되는 Value Object 설정이다.
targetPackage 속성은 모델이 생성될 팩키지 공간을 설정한다.
targetProject 속성은 루트 디렉토리라고 보면 된다.
sqlMapGenerator 와 daoGenerator 도 javaModelGenerator 와 같다.
마지막으로 table 엘리먼트를 사용하여 생성할 테이블 이름을 지정한다.
* 실행
c:myworkspace 에 mybatis-generator-core-1.3.0-SNAPSHOT.jar 와 xml 을 저장한 파일(yhjung-generator.xml)을 복사했다.
myworkspace 디릭토리 아래에 yhjung 이라는 디렉토리를 생성했다.
자 이제 실행해보자.
C:myworkspace>java -jar mybatis-generator-core-1.3.0-SNAPSHOT.jar -configfile yhjung-generator.xml -contextids yhjung
Ibator finshed successfully.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
13 |
mybatis generator 사용하기
![]() | 황제낙엽 | 2010.10.21 | 462 |
12 |
Abator사용예제
![]() | 황제낙엽 | 2009.03.02 | 158 |
11 | iBatis 용 코드 생성기 Abator(iBATOR) | 황제낙엽 | 2009.03.02 | 247 |
10 |
DDL2ibatis 스크립트 자동 생성 툴
![]() | 황제낙엽 | 2008.06.19 | 178 |
9 |
DDL2iBatis - iBatis코드 생성기
![]() | 황제낙엽 | 2007.08.13 | 144 |
8 | SQL2iBatis | 황제낙엽 | 2007.08.13 | 170 |
» |
mybatis generator 사용하기
![]() | 황제낙엽 | 2010.10.21 | 1972 |
6 |
Abator사용예제
![]() | 황제낙엽 | 2009.03.02 | 164 |
5 | iBatis 용 코드 생성기 Abator(iBATOR) | 황제낙엽 | 2009.03.02 | 242 |
4 | Abator - iBatis 소스 자동 생성 | 황제낙엽 | 2008.06.19 | 182 |
3 |
DDL2ibatis 스크립트 자동 생성 툴
![]() | 황제낙엽 | 2008.06.19 | 146 |
2 |
DDL2iBatis - iBatis코드 생성기
![]() | 황제낙엽 | 2007.08.13 | 84 |
1 | SQL2iBatis | 황제낙엽 | 2007.08.13 | 66 |