Spring Boot2.X中findOne的使用詳解
SpringBoot在1.5.X版本中,傳入id即可查詢對象
xxxRepository.findOne(id);但在2.X中,findOne改為了
<S extends T> Optional<S> findOne(Example<S> var1);
getOne方法繼續保留了,但是如果getOne(id)查詢到的即使id不存在,也會返回該對象的引用,判斷null無效。
后來找到了這種寫法可以實現
findOne. xxxRepository.findById(id).orElse(null)JpaRepository.findOne()在springboot1.x和2.x中的不同的用法
已有開發環境如下
Windows平臺 jdk1.8、maven已配置 開發工具:Intellij IDEA在使用springboot 1.5.6.RELEASE時JpaRepository支持findOne(ID)方法
T findOne(ID id);<S extends T> Optional<S> findOne(Example<S> example);2.x版本已無法使用 T findOne(ID id)
下面是解決辦法
@Override public AyUser selectAyUserById(Integer id) { AyUser ayUser = new AyUser(); ayUser.setId(id); Example<AyUser> example = Example.of(ayUser); Optional<AyUser> optional = ayUserRepository.findOne(example); if (optional.isPresent()){ ayUser=optional.get(); return ayUser; }else{ return null; } }
記錄一下,方便查詢!
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: