Mapperの生成
1. 対象テーブル
下記で作成される3つのテーブルを対象とする。
maker_mst
create table maker_mst ( id serial not null , maker_name character varying(255) not null , create_at timestamp(6) without time zone , update_at timestamp(6) without time zone , version integer default 0 , primary key (id) );
kind_mst
create table kind_mst ( id serial not null , kind_name character varying(255) not null , create_at timestamp(6) without time zone , update_at timestamp(6) without time zone , version integer default 0 , primary key (id) );
product
create table product ( id serial not null , kind_id integer not null , maker_id integer not null , product_name character varying(255) not null , create_at timestamp(6) without time zone , update_at timestamp(6) without time zone , version integer default 0 , primary key (id) );
2. ジェネレータプラグインの追加
pom.xmlのpluginsタグ内にMyBatisジェネレータのプラグイン情報を追記する。
pom.xml
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.3.1</version>
</dependency>
</dependencies>
</plugin>
3. generatorConfig.xml作成
src/main/resources/へ以下の様なgeneratorConfig.xmlを作成する。
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="postgresTables" targetRuntime="MyBatis3">
<jdbcConnection
connectionURL="jdbc:postgresql://localhost:5432/postgres"
driverClass="org.postgresql.Driver"
password="example"
userId="postgres" />
<javaTypeResolver>
<property name="useJSR310Types" value="true" />
</javaTypeResolver>
<javaModelGenerator
targetPackage="com.ziqoo.demo.dao.table.model"
targetProject="src/main/java">
</javaModelGenerator>
<sqlMapGenerator
targetPackage="com.ziqoo.demo.dao.table.mapper"
targetProject="src/main/resources">
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.ziqoo.demo.dao.table.mapper"
targetProject="src/main/java">
</javaClientGenerator>
<table schema="public" tableName="%">
<property name="ignoreQualifiersAtRuntime" value="true" />
</table>
</context>
</generatorConfiguration>
3. ジェネレータの実行
- Eclipseのメニュー[実行]→[実行の構成]を開く。 Maveビルドを選択して新規起動構成をクリック
- 適当に名前を付けて、以下の様に設定し、実行する。
基底ディレクトリには対象プロジェクトを、ゴールには「mybatis-generator:generate」を指定。
generatorConfig.xmlで指定したパッケージ内にmodelとmapperクラス、xmlファイルが出力される。



