/ / MyBatis mapper do wywołania metody fabrycznej - mybatis

MyBatis mapper do wywołania metody fabrycznej - mybatis

Chcę, aby mybatis wywoływał metodę fabryczną do stworzeniaobiekt zamiast konstruktora. Tak więc dla atrybutów o wartości null mogę zwrócić obiekt NULL (który zastąpił zachowanie do obsługi wszystkich przypadków krawędzi) zamiast rzeczywistego obiektu. Czy mogę to osiągnąć dzięki mapper.xml?

Odpowiedzi:

1 dla odpowiedzi № 1

Określ własną ObjectFactory

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


0 dla odpowiedzi nr 2

Aby odpowiedzieć na twoje konkretne pytanie, nie ma mowyaby określić metodę fabryczną bezpośrednio (i tylko) w pliku mapper.xml, o ile wiem. W MyBatis są jednak dwie opcje:

  1. Jak stwierdzono w odpowiedzi Bhaskara, możesz użyć ObjectFactory.
  2. Teoretycznie można również zdefiniować TypeHandler, ale nie udało mi się uruchomić tego w moich ostatnich testach.

Jeśli chciałbyś zobaczyć działający przykład użycia MyBatis ObjectFactory do implementacji obiektu Null, zobacz koan19 z moich koans MyBatis: https://github.com/midpeter444/mybatis-koans. (Zajrzyj do skompletowanego katalogu koans / koan19, aby znaleźć rozwiązanie, które wymyśliłem.)