有没有办法让MyBatis返回Optional<MyClass>
实例而不是简单的MyClass
实例?
最佳答案
Mybatis 3.5.0 之前
创建自定义 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);
}
}
}
并配置它在mybatis.xml
中使用:
<objectFactory type="my.company.project.OptionalAwareObjectFactory"/>
Mybatis 3.5.0+
自 3.5.0 起, native 支持可选
fankai指出。
关于java - 如何从 MyBatis 查询返回可选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50214697/