springData中findOne(id)方法报错
在使用springBoot整合的springData的findOne()方法时候,传入id,方法会报错
查看源码后发现findOne并没有传入id的方法,只能通过findById来调用,可能是使用的springBoot的版本的问题,我使用的版本是2.0.1
继续使用findOne 的方法
//修改使用findOne
@Test
public void testUpdate2() {
CmsPage cmsPage1 = new CmsPage();
cmsPage1.setPageId("5bfd343e941e793e2cc56e62");
Example<CmsPage> example = Example.of(cmsPage1);
Optional<CmsPage> 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、将对象非空检测标准化。