MyBatis Generator の設定⚓︎
infrastructure プロジェクトにおいて、 MyBatis Generator を利用してエンティティやマッパーインターフェース、 SQL マッピングファイルを自動的に生成するための設定について解説します。
事前準備⚓︎
本手順を実行する前に infrastructure プロジェクトの設定 を完了してください。
MyBatis Generator を実行する際は、生成対象となるテーブルが作成されたデータベースを稼働させる必要があります。 本設定では H2 Console を利用して H2 Database に以下の DDL と DML を実行し、テーブルを作成しています。
サンプルアプリケーションの schema.sql
schema.sql | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
|
サンプルアプリケーションの data.sql
data.sql | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|
MyBatis Generator 実行用のテーブル作成について
サンプルアプリケーションの実行中は、 schema.sql と data.sql が自動的に読み込まれた H2 Database がインメモリで起動します。 そのため、サンプルアプリケーションの実行用のデータベース作成の必要はありませんが、アプリケーションの停止と共にテーブルは削除されます。
よって、 MyBatis Generator を利用する際には、自動生成用のテーブルを別途用意しておく必要があります。 H2 Console を利用してデータベースを起動する場合は、以下の手順を実施します。
- H2 Console をインストールする。
- Windows 内を検索し、 H2 Console を起動する。
-
JDBC URL に任意のパスを入力し、接続ボタンをクリックする。接続すると自動でデータベースが作成され、起動する。
-
上記の方法でエラーが発生する場合は、 H2 Console のインジケーターを右クリックし
Create new database ...
を選択する。 -
任意のパス、ユーザー名、パスワードでデータベースを作成する。
-
2 の手順と同様に先ほどのパス、ユーザー名、パスワードを入力して接続し、データベースを起動する。
MyBatis Generator の設定ファイルの作成⚓︎
infrastructure プロジェクトの src/main/resource フォルダーに設定ファイルである mybatisGeneratorConfig.xml を追加します。 mybatisGeneratorConfig.xml に設定する各要素については、こちら を参照してください。
サンプルアプリケーションにおける設定例は以下の通りです。
サンプルアプリケーションの mybatisGeneratorConfig.xml
mybatisGeneratorConfig.xml | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
各タブの設定内容は以下の通りです。
<jdbcConnection>
: 接続するデータベースに関する設定です。<javaModelGenerator>
: データベースのテーブルに対応する Java のエンティティクラスを生成するための設定です。<sqlMapGenerator>
: MyBatis の SQL マッピングファイルを生成するための設定です。<javaClientGenerator>
: MyBatis のマッパーインターフェースを生成するための設定です。<table>
: 生成対象となるテーブルに関する設定です。
なお、<jdbcConnection>
の driverClass
や connectionURL
は使用するデータベースに合わせて変更してください。 また、<javaModelGenerator>
や <sqlMapGenerator>
等の targetPackage
や targetProject
の設定はフォルダー構成に合わせて修正してください。
次に、 <javaClientGenerator>
や <sqlMapGenerator>
で生成される XML ファイルをリソースに指定する設定を infrastructure プロジェクトの build.gradle に記述します。
build.gradle | |
---|---|
1 2 3 4 5 6 |
|
依存ライブラリの設定⚓︎
infrastructure プロジェクトの build.gradle の configurations に MyBatis Generator 実行用の依存関係のカスタム構成を定義します。
build.gradle | |
---|---|
1 2 3 4 |
|
次に、 build.gradle の dependencies に以下のような MyBatis Generator を利用するための依存関係を追加します。
-
mybatis-generator-core
:MyBatis Generator のタスクを実行するためのライブラリ -
h2
:コードの自動生成で利用する組み込みの H2 データベース
この際、依存関係は前述の configurations で定義したカスタム構成である mybatisTasks を利用します。
build.gradle | |
---|---|
1 2 3 4 |
|
自動生成タスクの追加⚓︎
MyBatis Generator を実行するタスク runMyBatisGenerator を定義します。 configfile には、前述 の mybatisGeneratorConfig.xml のパスを設定します。
build.gradle | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
自動生成タスクの実行⚓︎
ここまでを実行した後に、適切にビルドが実行できるかを確認します。 ターミナルを用いてルートプロジェクト直下で以下を実行してください。
自動生成タスクの実行コマンド | |
---|---|
1 |
|
実行後、 mybatisGeneratorConfig.xml の <javaModelGenerator>
や <sqlMapGenerator>
等で設定した配置場所にファイルが自動生成されていることを確認してください。
ここまでの手順を実行した際の infrastructure/build.gradle
の例
infrastructure/build.gradle | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
|