2

mybatisにファクトリメソッドを呼び出して、コンストラクターではなくオブジェクトを作成してもらいたい。null値の属性の場合、実際のオブジェクトの代わりにNULLオブジェクト(すべてのエッジケースを処理するためにオーバーライドされた動作を持つ)を返すことができるようにします。mapper.xmlでそれを達成できますか?

4

2 に答える 2

1

独自のObjectFactoryを定義する

http://www.mybatis.org/core/configuration.html#objectFactory

于 2012-05-22T12:57:02.457 に答える
0

あなたの特定の質問に答えるために、私が知る限り、mapper.xmlファイル自体でファクトリメソッドを直接(そして唯一)指定する方法はありません。ただし、MyBatisには、必要なことを実行するための2つのオプションがあります。

  1. Bhaskarの回答で述べられているように、ObjectFactoryを使用できます。
  2. 理論的には、TypeHandlerを定義することもできますが、最近のテストではこれを機能させることができませんでした。

MyBatis ObjectFactoryを使用してNullオブジェクトを実装する方法の実際の例を確認したい場合は、MyBatis koansのkoan19を参照してください:https ://github.com/midpeter444/mybatis-koans 。(私が思いついた解決策については、completed-koans / koan19ディレクトリを見てください。)

于 2012-05-28T16:36:02.490 に答える