課程
/后端開發
/Java
/2小時學會Spring Boot
findOne方法是findOne(Example example) 返回Optional,為什么我的版本用不起findOne()方法
2018-03-08
源自:2小時學會Spring Boot 5-2
正在回答
引入頭文件 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); }
Optional<Employee>?employee1?=?employJpaRepository.findById(99); System.out.println("第二個:"+employee1);
這樣子會比較簡單
自從spring boot 2.0以后,由于用上了Java 8 的Option,廢除了findone(Id)。
spring boot 新版本的問題,現在findOne返回的是 Optional 對象。
如果傳id可直接調用findById方法,若傳對象則調用findOne方法。
@Override public?Optional<MyAction>?findMyActionById(Integer?myActionId)?{ ????return?myActionRepository.findById(myActionId); }
要導入正確的包
import org.springframework.data.domain.Example;
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);}
謝謝你的帖子
這個Example是spring的嗎,我復制你的代碼報這個無法解析
qq_不歌_0
轉載@未來_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
更新迭代太快了,小白學起來吃力,好無奈
Aouty
Irma_C
qq_楚門_7 回復 Aouty
我也是這個問題,同求
舉報
Spring Boot入門視頻教程,你將學會使用Spring Boot快速構建應用程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-11-11
2019-03-11
這樣子會比較簡單
2018-05-25
自從spring boot 2.0以后,由于用上了Java 8 的Option,廢除了findone(Id)。
2018-04-27
spring boot 新版本的問題,現在findOne返回的是 Optional 對象。
如果傳id可直接調用findById方法,若傳對象則調用findOne方法。
2018-03-23
要導入正確的包
import org.springframework.data.domain.Example;
Example
2018-03-17
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);
}
2018-03-13
謝謝你的帖子
2018-03-09
這個Example是spring的嗎,我復制你的代碼報這個無法解析
2018-03-08
轉載@未來_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
更新迭代太快了,小白學起來吃力,好無奈
2018-03-08
我也是這個問題,同求