Gor*_*dyB 2 java mybatis spring-mybatis
有没有办法让MyBatis返回一个Optional<MyClass>实例而不仅仅是一个MyClass实例?
像这样创建自定义ObjectFactory:
class OptionalAwareObjectFactory extends DefaultObjectFactory {
public Object create(Class type, List<Class> constructorArgTypes, List<Object> constructorArgs) {
if (Optional.class.isAssignableFrom(type)) {
return Optional.fromNullable(Iterables.getOnlyElement(constructorArgs));
} else {
return super.create(type, constructorArgTypes, constructorArgs);
}
}
}
Run Code Online (Sandbox Code Playgroud)
并将其配置为用于mybatis.xml:
<objectFactory type="my.company.project.OptionalAwareObjectFactory"/>
Run Code Online (Sandbox Code Playgroud)