findOne方法是findOne(Example<S> example) 返回Optional<S>,为什么我的findOne()方法会报错
findOne方法是findOne(Example example) 返回Optional,为什么我的版本用不起findOne()方法
findOne方法是findOne(Example example) 返回Optional,为什么我的版本用不起findOne()方法
2018-03-08
引入头文件 import java.util.Optional; import org.springframework.data.domain.Example; 实现代码 //查询一个女生 @GetMapping(value = "/girls/{id}") public Optional<Girl> girlFindOne(@PathVariable("id") Integer id) { Girl girl = new Girl(); girl.setId(id); Example<Girl> example = Example.of(girl); return girlRepository.findOne(example); }
转载@未来_0004 的回答
自问自答,找到问题所在了,是由于jdk8的原因,有可能和spring boot的版本也关系,
两种方式可选 注册,返回类是Optional<Girl>, Optional是jdk8自带的
@GetMapping(value = "/girls/{id}")
public Optional<Girl> girlFindOne(@PathVariable("id") Integer id) {
//直接用findById查找
//return girlRepository.findById(id);
//构通Example查找
Girl girl = new Girl();
girl.setId(id);
Example<Girl> example = Example.of(girl);
return girlRepository.findOne(example);
}
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#query-by-example.usage
更新迭代太快了,小白学起来吃力,好无奈
举报