Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

MyBatisでカラム名から「_」を取ったプロパティとオートマッピングする

MyBatis(旧iBatis)はカラム名とJavaBeansのプロパティをオートマッピングするけど、

「_」がつくとマッピングできない。

拡張ポイントもないので手軽には対応できないけど、

次のようにすればいちおうできる。

  • ResultSerHandlerの実装クラスを継承した独自のクラスを作成する
  • Configurationを継承した独自のクラスを作成する
  • XMLConfigBuilderをコピーして新しいクラスを作成し、必要な箇所を書き換える

ResultSerHandlerで、カラム名とプロパティ名を対応付けているメソッドをオーバーライドする。

Configurationで、利用するResultSerHandlerを生成しているメソッドをオーバーライドして独自のクラスを使用するようにする。