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;
      }
  }

记录一下,方便查询!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Mybatis的详细使用教程

    Mybatis的详细使用教程

    这篇文章主要介绍了Mybatis的详细使用教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • SpringBoot实现物品收藏功能

    SpringBoot实现物品收藏功能

    这篇文章主要介绍了SpringBoot实现物品收藏功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • java 定时器Timer和TimerTask的使用详解(执行和暂停)

    java 定时器Timer和TimerTask的使用详解(执行和暂停)

    这篇文章主要介绍了java 定时器Timer和TimerTask的使用详解(执行和暂停),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • 详解mybatis三种分页方式

    详解mybatis三种分页方式

    本文主要介绍了详解mybatis三种分页方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Java实现调用MySQL存储过程详解

    Java实现调用MySQL存储过程详解

    相信大家都知道存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。Java调用mysql存储过程,实现如下,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • JavaSE程序逻辑控制实现详细图文教程

    JavaSE程序逻辑控制实现详细图文教程

    JavaSE是为了开发桌面应用程序和控制台应用程序而设计的,使用JavaSE可以编写独立运行的Java应用程序,这篇文章主要给大家介绍了关于JavaSE程序逻辑控制实现的相关资料,需要的朋友可以参考下
    2024-04-04
  • Java Swing组件复选框JCheckBox用法示例

    Java Swing组件复选框JCheckBox用法示例

    这篇文章主要介绍了Java Swing组件复选框JCheckBox用法,结合具体实例形式分析了Swing复选框JCheckBox简单用法与相关操作注意事项,需要的朋友可以参考下
    2017-11-11
  • 解析iReport自定义行数分页的操作方法

    解析iReport自定义行数分页的操作方法

    ireport默认都是自动分页数据超出页面长度就会自动分到下一页,但有时候业务需要一页只显示固定几行这时候就需要自定义条数了。下面看具体操作吧
    2021-10-10
  • 使用maven命令安装jar包到本地仓库的方法步骤

    使用maven命令安装jar包到本地仓库的方法步骤

    这篇文章主要介绍了使用maven命令安装jar包到本地仓库的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 浅谈Java生成唯一标识码的三种方式

    浅谈Java生成唯一标识码的三种方式

    我们经常会遇到这样的场景,需要生成一个唯一的序列号来表明某一个数据的唯一性,本文主要介绍了浅谈Java生成唯一标识码的三种方式,感兴趣的可以来了解一下
    2022-01-01

最新评论