2012-05-22 6 views
1

Я хочу, чтобы mybatis вызывал фабричный метод для создания объекта вместо конструктора. Так что для нулевых атрибутов я могу вернуть объект NULL (который имеет переопределенное поведение для обработки всех случаев краев) вместо фактического объекта. Могу ли я достичь этого с помощью mapper.xml?MyBatis mapper to call factory method

ответ

0

Чтобы ответить на конкретный вопрос, не существует способа определить фабричный метод непосредственно (и только) в самом mapper.xml файл, насколько я знаю , Однако в MyBatis есть два варианта:

  1. Как указано в ответе Бхаскара, вы можете использовать ObjectFactory.
  2. В теории вы также можете определить TypeHandler, но мне не удалось заставить его работать в моем недавнем тестировании.

Если вы хотели бы видеть рабочий пример того, как использовать MyBatis ObjectFactory реализовать Null объект, см koan19 моих MyBatis коанам: https://github.com/midpeter444/mybatis-koans. (Посмотрите в каталоге завершенных koans/koan19 для решения, которое я придумал.)

Смежные вопросы