2021年07月04日

MyBatis Generator で日本語テーブル名・カラム名を扱う

要点のみ簡単に。
  • eclipse pluginにあるMyBatis Generator で日本語テーブル名・カラム名を扱うことは可能。
  • table要素のdomainObjectName属性とか、columnOverride要素とか使う。
  • このとき、generatorConfig のxmlファイルの文字コードを「MyBatis Generatorを動かす環境のデフォルトの文字コード」とするのがミソ。xml先頭のencoding指定は無視される。xmlだからutf-8とかにしたくなるのだけど、例えば日本語Windows環境でそうしてしまうと、MyBatis Generatorは文字化けした日本語テーブル名・カラム名を探しに行ってしまう。日本語Windows環境でMyBatis Generatorを使って日本語テーブル名・カラム名を扱いたいなら、generatorConfig のxmlファイルの文字コードはMS932とかにしないと駄目。
…単純にxmlのencoding指定が無視されている、ということに気づくまで丸一日かかりましたよ。

ただ、扱うことは出来るしdomainObjectName属性とかcolumnOverride要素とかで日本語を適切にマップすることも出来るのだけと、素のMyBatis Generatorで自動生成された結果からは、マップ後のクラス名やプロパティ名からマップ前の名前を拾うことができません。自動生成されたコードのJavadocコメントにはマップ前の名前が入っているので、Custom Pluginを作れば対応は可能かと思います。
posted by Μεω. at 22:01| Comment(0) | TrackBack(0) | 役に立つかな?
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/188815413
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック