springData中findOne(id)方法报错

springData中findOne(id)方法报错

在使用springBoot整合的springData的findOne()方法时候,传入id,方法会报错

springData中findOne(id)方法报错_第1张图片

	查看源码后发现findOne并没有传入id的方法,只能通过findById来调用,可能是使用的springBoot的版本的问题,我使用的版本是2.0.1

在这里插入图片描述

继续使用findOne 的方法

//修改使用findOne
@Test
public void testUpdate2() {
    CmsPage cmsPage1 = new CmsPage();
    cmsPage1.setPageId("5bfd343e941e793e2cc56e62");
    Example example = Example.of(cmsPage1);
    Optional optional = cmsPageRepository.findOne(example);
    if(optional.isPresent()){
        CmsPage cmsPage = optional.get();
        cmsPage.setPageName("测试页面01");
        cmsPageRepository.save(cmsPage);
    }
}

关于Optional:

Optional是jdk1.8引入的类型,Optional是一个容器对象,它包括了我们需要的对象,使用isPresent方法判断所包含对象是否为空,isPresent方法返回false则表示Optional包含对象为空,否则可以使用get()取出对象进行操作。

Optional的优点是:

1、提醒你非空判断。

2、将对象非空检测标准化。

你可能感兴趣的:(springData)