MyBatis Generator는 데이터베이스 테이블의 스키마를 기반으로 MyBatis 매퍼와 자바 객체 클래스를 자동으로 생성해주는 도구입니다. 이를 통해 데이터베이스 테이블과 관련된 코드를 자동으로 생성하여 개발 생산성을 높일 수 있습니다. MyBatis Generator는 XML 설정 파일을 통해 동작하며, 데이터베이스와 매퍼 코드의 연결을 자동으로 처리합니다.
예제: MyBatis Generator 사용
-
MyBatis Generator를 사용하기 위해 먼저 Maven 또는 Gradle 프로젝트에 의존성을 추가합니다.
-
generatorConfig.xml
파일을 생성하여 데이터베이스 연결 정보와 코드 생성 설정을 구성합니다.
<?xml version="1.0" encoding="UTF-8"?>
<!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="mybatisGenerator" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mydb" userId="root" password="password"/>
<javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java"/>
<sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources"/>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java"/>
<table tableName="books"/>
</context>
</generatorConfiguration>`
위의 예제에서는 generatorConfig.xml
파일을 생성하고 데이터베이스 연결 정보와 코드 생성 설정을 구성하였습니다. jdbcConnection
에서 데이터베이스 연결 정보를 설정하고, javaModelGenerator
, sqlMapGenerator
, javaClientGenerator
에서 각각 자바 객체, 매퍼 XML, 매퍼 인터페이스를 생성할 위치와 패키지를 설정합니다. table
태그로 특정 테이블을 선택하여 코드를 생성할 수 있습니다.
- MyBatis Generator를 실행합니다. 커맨드 라인에서 아래 명령을 실행하거나, IDE 내에서 플러그인을 사용하여 실행할 수 있습니다.
java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite`
위의 예제에서 mybatis-generator-core-x.x.x.jar
는 MyBatis Generator의 JAR 파일을 나타내며, -configfile
옵션으로 설정 파일을 지정하고 -overwrite
옵션으로 기존 파일을 덮어쓸 수 있도록 합니다.
실행 후 지정된 위치에 자동으로 매퍼 XML 파일과 자바 객체 클래스가 생성됩니다. 이를 통해 데이터베이스 테이블과 관련된 코드를 자동으로 생성할 수 있습니다.