MyBatis映射器调用工厂方法

时间:2012-05-22 12:49:49

标签: mybatis

我希望mybatis调用工厂方法来创建对象而不是构造函数。因此,对于null值属性,我可以返回一个NULL对象(它具有覆盖行为以处理所有边缘情况)而不是实际对象。我能用mapper.xml实现吗?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

要回答您的具体问题,据我所知,无法直接(并且仅)在mapper.xml文件中指定工厂方法。但是,MyBatis中有两个选项可以执行您想要的操作:

  1. 如Bhaskar的回答所述,您可以使用ObjectFactory。
  2. 理论上,你也可以定义一个TypeHandler,但是我在最近的测试中无法使用它。
  3. 如果您想查看如何使用MyBatis ObjectFactory实现Null对象的实例,请参阅MyBatis koans的koan19:https://github.com/midpeter444/mybatis-koans。 (查看完成的koans / koan19目录,了解我提出的解决方案。)