ホーム > Java > MyBatis > Mapperの生成

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_img003.png

  • 適当に名前を付けて、以下の様に設定し、実行する。
    基底ディレクトリには対象プロジェクトを、ゴールには「mybatis-generator:generate」を指定。

mybatis_img004.png

generatorConfig.xmlで指定したパッケージ内にmodelとmapperクラス、xmlファイルが出力される。

リンク

コーポレートサイトにちょうどいいCMS、baserCMS