myBatis를 사용하기 편리하도록 도와주는 자동 생성기 입니다.
생성되는 항목은 다음과 같습니다.
- main
- java/com/example/demo
- controller
- domain (=dto)
- dao
- mapper
- service
- resources
- mapper
root에 존재하는 pom.xml에 plugin을 추가해 줍니다.
myBatis generator plugin을 다음과 같이 추가합니다.
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
</plugin>
</plugins>
</build>
이 부분을 추가한 후에 maven에 이 플러그인이 추가되었는지 확인합니다.
위와 같은 내용이 추가되어야 실행 가능합니다.
resources 디렉토리 아래에 generatorConfig.xml을 생성하여 다음 내용을 입력합니다.
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"
>
<generatorConfiguration>
<context id="~~" targetRuntime="MyBatis3">
<jdbcConnection driverClass="~~~"
connectionURL="jdbc:mariadb://<IP>:<port>/<DB 명>" userId="~~"
password="~~"/>
<!-- DTO -->
<javaModelGenerator targetPackage="com.example.demo.domain" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaModelGenerator>
<!-- DAO -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- SQL -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<table tableName="~~" schema="~~"></table>
</context>
</generatorConfiguration>
’~~’ 부분은 본인의 DB id, pw와 table 이름, 스키마 이름으로 채우면 됩니다.
<property name="enableSubPackages" value="true" />
: 스키마가 복수일 경우 각각의 스키마 서브 디렉터리에 넣어주는 것입니다. 추가적인 디렉터리 생성을 방지하고자 할 경우 삭제하면 됩니다. (default: false)위와 같이 설정 후, 위에서 보았던 mybatis-generator:generate
를 더블 클릭해주면 위 파일에 설정한 디렉터리에 DAO, DTO, SQL 파일이 생성되는 것을 확인할 수 있습니다.
위와 같이 수행 후, 필요에 따라 Service와 Controller를 작성하면 됩니다.
참고
감사합니다.
Text by Chaelin. Photographs by Chaelin, Unsplash.