Spring Boot2.X中findOne的使用详解

目录
  • Spring Boot2.X中findOne的用法
    • 但在2.X中,findOne改为了
  • JpaRepository.findOne()在springboot1.x和2.x中的不同的用法
    • 在使用springboot 1.5.6.RELEASE时
    • 2.x版本已无法使用 T findOne(ID id)

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

记录一下,方便查询!

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

(0)

相关推荐

  • 继承JpaRepository后,找不到findOne()方法的解决

    目录 继承JpaRepository,找不到findOne()方法 问题: 分析: 解决: SpringDataJpa:消失的findOne() 进行思考 对jpa的思考 继承JpaRepository,找不到findOne()方法 问题: 以前一直使用findOne(ID id);,这次用SpringBoot构建新项目后,并没有找到这个findOne(ID id),只有另外的 分析: 看了下jpa的依赖,因为SpringBoot的版本是2.0.0的,所以spring-data-jpa的版本也是

  • JPA findById方法和getOne方法的区别说明

    目录 findById方法和getOne方法区别 getOne()方法是JpaRepository接口中定义的 再看findById()方法 spring-data-jpa中findById()的使用 findById方法和getOne方法区别 Jpa基础的CRUD方法继承自接口CrudRepository<T, ID>,包含以下方法: <S extends T> S save(S entity); <S extends T> Iterable<S> sav

  • 解决springboot的findOne方法没有合适的参数使用问题

    目录 springboot的findOne方法没有合适的参数使用 找了半天没找到是什么原因 这里改为1.5.10之后 SpringBoot踩过的坑之findOne() 简而言之 经过多次百度,我发现这么写可以解决它: 就会一直报错-- springboot的findOne方法没有合适的参数使用 开发SpringBoot的DAO层之后,去测试的时候,发现findOne()这个方法找不到了,查看了对应的表字段名和实体类的属性都一致 找了半天没找到是什么原因 最后发现是依赖的版本出问题了 <paren

  • Spring Boot2.X中findOne的使用详解

    目录 Spring Boot2.X中findOne的用法 但在2.X中,findOne改为了 JpaRepository.findOne()在springboot1.x和2.x中的不同的用法 在使用springboot 1.5.6.RELEASE时 2.x版本已无法使用 T findOne(ID id) Spring Boot2.X中findOne的用法 SpringBoot在1.5.X版本中,传入id即可查询对象 xxxRepository.findOne(id); 但在2.X中,findOn

  • Spring事务管理中关于数据库连接池详解

    目录 Spring事务管理 环境搭建 标准配置 声明式事务 总结 SqlSessionFactory XML中构建SqlSessionFactory 获得SqlSession的实例 代码实现 作用域(Scope)和生命周期 SqlSessionFactoryBuilder(构造器) SqlSessionFactory(工厂) SqlSession(会话) Spring事务管理 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序

  • Spring @Cacheable注解中key的使用详解

    目录 Spring @Cacheable注解中key使用 下面是几个使用参数作为key的示例 condition属性指定发生的条件 @CachePut @CacheEvict allEntries属性 beforeInvocation属性 @Caching 使用自定义注解 @Cacheable 拼接key Spring @Cacheable注解中key使用 key属性是用来指定Spring缓存方法的返回结果时对应的key的.该属性支持SpringEL表达式.当我们没有指定该属性时,Spring将

  • Spring Boot2.0实现静态资源版本控制详解

    写在最前面 犹记毕业第一年时,公司每次发布完成后,都会在一个群里通知[版本更新,各部门清理缓存,有问题及时反馈]之类的话.归根结底就是资源缓存的问题,浏览器会将请求到的静态资源,如JS.CSS等文件缓存到用户本地,当用户再次访问时就不需要再次请求这些资源了,以此也是提升了用户体验.但是也正是因为这些资源缓存,导致客户端的静态文件往往不是当前最新版本.后来有同事增加了时间戳.随机数等,确实这也解决了客户端缓存的问题,但是却又带来了新的麻烦,导致每次访问都要请求服务器,无形中增加了服务器的压力. 那

  • JSP Spring配置文件中传值的实例详解

    JSP Spring配置文件中传值的实例详解 通过spring提供方法,在配置文件中取传值 调用get方法  targetObject :指定调用的对象       propertyPath:指定调用那个getter方法 例1: public class Test1 { private String name = "nihao"; public String getName() { return name; } } Xml代码 <bean id="t1" cl

  • JSP 中Spring组合注解与元注解实例详解

    JSP 中Spring组合注解与元注解实例详解 摘要: 注解(Annotation),也叫元数据.一种代码级别的说明.它与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明 1. 可以注解到别的注解上的注解称为元注解,被注解的注解称为组合注解,通过组合注解可以很好的简化好多重复性的注解操作 2. 示例组合注解 import org.springframework.context.annotation.ComponentScan; im

  • Spring中MVC模块代码详解

    SpringMVC的Controller用于处理用户的请求.Controller相当于Struts1里的Action,他们的实现机制.运行原理都类似 Controller是个接口,一般直接继承AbstrcatController,并实现handleRequestInternal方法.handleRequestInternal方法相当于Struts1的execute方法 import org.springframework.web.servlet.ModelAndView; import org.

  • Spring boot2.x中集成H2数据库代码实例

    这篇文章主要介绍了Spring boot2.x中集成H2数据库代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在spring boot中集成 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </d

  • Spring配置使用之Bean生命周期详解

    基本概念 Spring 中的 Bean 的生命周期,指的是 Bean 从创建到销毁的过程. 下面来探究下几个有关 Bean 生命周期配置的属性. lazy-init lazy-init 表示延迟加载 Bean,默认在 Spring IoC 容器初始化时会实例化所有在配置文件定义的 Bean,若启用了 lazy-init 则在调用 Bean 时才会去创建 Bean. 定义 Bean: public class Animals { public Animals(){ System.out.print

  • 基于Spring + Spring MVC + Mybatis 高性能web构建实例详解

    一直想写这篇文章,前段时间痴迷于JavaScript.NodeJs.AngularJS,做了大量的研究,对前后端交互有了更深层次的认识. 今天抽个时间写这篇文章,我有预感,这将是一篇很详细的文章,详细的配置,详细的注释,看起来应该很容易懂. 用最合适的技术去实现,并不断追求最佳实践.这就是架构之道. 希望这篇文章能给你们带来一些帮助,同时希望你们可以为这个项目贡献你的想法. 源码地址:https://github.com/Eliteams/quick4j 点击打开 源码地址:https://gi

随机推荐