/ / MyBatis mapper para llamar al método de fábrica - mybatis

MyBatis mapper para llamar al método de fábrica - mybatis

Quiero que mybatis llame a un método de fábrica para crear.un objeto en lugar de un constructor. De modo que para los atributos de valor nulo puedo devolver un objeto NULL (que tiene un comportamiento anulado para manejar todos los casos de borde) en lugar del objeto real. ¿Puedo lograr eso con mapper.xml?

Respuestas

1 para la respuesta № 1

Define tu propio ObjectFactory

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


0 para la respuesta № 2

Para responder a su pregunta específica, no hay manerapara especificar un método de fábrica directamente (y solo) en el archivo mapper.xml, por lo que sé. Sin embargo, hay dos opciones en MyBatis para hacer lo que quieras:

  1. Como se indica en la respuesta de Bhaskar, puede utilizar una ObjectFactory.
  2. En teoría, también puede definir un TypeHandler, pero no pude hacer que esto funcionara en mis pruebas recientes.

Si desea ver un ejemplo práctico de cómo usar un ObjectFactory de MyBatis para implementar un objeto nulo, vea koan19 de mis koans de MyBatis: https://github.com/midpeter444/mybatis-koans. (Busque en el directorio completado-koans / koan19 la solución que se me ocurrió).