[英]How to return an Optional from MyBatis query
有什么方法可以讓MyBatis返回Optional<MyClass>
實例而不是簡單的MyClass
實例嗎?
創建自定義對象工廠,如下所示:
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"/>
由於3.5.0 Optional
如原生支持fankai指出。
自3.5.0起,Mybatis現在正式支持Optional返回類型,請參閱http://blog.mybatis.org/2019/01/mybatis-350-released.html
不確定Roman的答案如何工作……如方法簽名所示,它可能在Mybatis的早期版本中有效,但顯然不適用於最新版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.