Spring Boot2.X中findOne的使用详解
更新时间:2021年08月14日 14:49:42 作者:geekfly
这篇文章主要介绍了Spring Boot2.X中findOne的使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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; } }
记录一下,方便查询!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Springboot 接收POST、json、文本数据的方法 附示例
这篇文章主要介绍了Springboot 接收POST、json、文本数据实践,如果把 json 作为参数传递,我们可以使用 @requestbody 接收参数,将数据直接转换成对象,本文通过示例代码介绍的非常详细,需要的朋友可以参考下2023-10-10Spring RestTemplate如何利用拦截器打印请求参数和返回状态
这篇文章主要介绍了Spring RestTemplate如何利用拦截器打印请求参数和返回状态问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07Redis使用RedisTemplate模板类的常用操作方式
这篇文章主要介绍了Redis使用RedisTemplate模板类的常用操作方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09Java线程池ForkJoinPool(工作窃取算法)的使用
Fork就是把一个大任务切分为若干个子任务并行地执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。Fork/Join 框架使用的是工作窃取算法。本文主要介绍了ForkJoinPool的使用,需要的可以参考一下2022-11-11
最新评论