亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

return girlRepository.findOne(id);報錯的原因

之所以return girlRepository.findOne(id);一直報錯的原因是版本不同!切記,版本一定要一樣!我把版本改成1.4.1問題馬上解決了!哎,浪費時間

正在回答

11 回答

0、在springboot1.x的時候是有findOne(Integer id)的,但是到2.x后就沒有了,更換springboot的版本,使用1.x的版本就不存在這個問題了

1、使用findById(Integer id).get(),但這里需要注意的是,如果存在會直接返回需要查找的信息,如果不存在就會報異常,所以在使用的時候需要做一下判斷:findById(id).isPresent()

2、使用findById(Integer id).orElse(null),這里表示,如果id存在則返回需要查找的信息,如果不存在,這里設置為返回null(推薦)



0 回復 有任何疑惑可以回復我~

這個是我的代碼,girl換成了user

controller:

private?String?findByid(@RequestParam("id")?Long?id){
????try?{
????????return?userRespository.getOne(id).toString();
????}
????catch(EntityNotFoundException?e){
????????return?new?User().toString();
????}
}

同時在jpa里寫上這個:

User?getOne(Long?id)?throws?EntityNotFoundException;

問題是得到解決了,但是總感覺有些麻煩,不知道誰有更好的辦法

0 回復 有任何疑惑可以回復我~

可以通過新方法來獲取girl

girlRespository.getOne(id);

如果返回的是個空值建議使用Optional

0 回復 有任何疑惑可以回復我~

直接換這種用法

girlRepository.findById(id).get()

不要隨意修改版本,有事會出現大問題

1 回復 有任何疑惑可以回復我~

可以用findById(id).get()

4 回復 有任何疑惑可以回復我~
#1

慕瓜8564777

解決了,2.0,感謝。
2018-09-16 回復 有任何疑惑可以回復我~
#2

慕瓜8564777

還有刪除//通過Id刪除一個女生,DELETE @DeleteMapping(value="/girls/{id}") public void girlDelete(@PathVariable("id") Integer id){ girlRepository.deleteById(id); }
2018-09-16 回復 有任何疑惑可以回復我~
girlRepository.getOne(id);

用這個方法可以,不過要在Girl類上加

@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})?避免因hibernate懶加載而無法輸出json數據的錯誤


0 回復 有任何疑惑可以回復我~

你這樣并不能解決問題呢,以后都是新版本,你不能一直用舊版本吧。。

我想知道新版本的怎么寫。。。

2 回復 有任何疑惑可以回復我~
#1

知音1005

girlRepository.getOne(id); 用這個方法可以,不過要在Girl類上加 @JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"}) 避免因hibernate懶加載而無法輸出json數據的問題
2018-05-29 回復 有任何疑惑可以回復我~
#2

__ACTION 回復 知音1005

@GetMapping(value = "/girls/{id}") public Girl girlGetOne(@PathVariable("id") Integer id) { Girl girl = girlRepository.findById(id).get(); return girl; }
2018-05-30 回復 有任何疑惑可以回復我~
#3

__ACTION 回復 知音1005

我是用的findById
2018-05-30 回復 有任何疑惑可以回復我~
#4

點點小魔王 回復 知音1005

這個方法可行。我一開始也是使用getOne方法,觀察后臺,sql執行是正確的,不過都加了別名,懷疑就是別名導致無法匹配實體類的get/set方法導致的。
2018-06-25 回復 有任何疑惑可以回復我~
#5

慕UI2199914 回復 __ACTION

很有用,收益了
2019-04-24 回復 有任何疑惑可以回復我~
查看2條回復

我上面寫的很清楚啊。就是改個版本而已,如果你還是出錯的話。可能是其他問題,我沒有看過你的代碼、我也不是算命的。我也不清楚具體問題啊。我這個博客,把這個項目的所有過程都寫的很清楚,你可以對照著,自己找問題吧。學習要靠自己。好了。如果你嫌麻煩的話,就不看吧。不回了。

0 回復 有任何疑惑可以回復我~

我改完了報了 一堆錯,啟動不了,我又給改回來了,改pom里面的版本需要注意什么?

1 回復 有任何疑惑可以回復我~
#1

ali是個小太陽 提問者

暈。。你沒有maven基礎的嗎
2018-05-22 回復 有任何疑惑可以回復我~
#2

什伴1986 回復 ali是個小太陽 提問者

啊 。。半路出家,前兩天才看完maven
2018-05-22 回復 有任何疑惑可以回復我~
#3

什伴1986 回復 ali是個小太陽 提問者

教教我吧,弄得我現在不敢瞎改版本了
2018-05-22 回復 有任何疑惑可以回復我~
查看1條回復

我也是這個問題,修改什么版本?

0 回復 有任何疑惑可以回復我~
#1

ali是個小太陽 提問者

把版本改成1.4.1問題馬上解決了!
2018-05-22 回復 有任何疑惑可以回復我~
#2

ali是個小太陽 提問者

在pom文件里面修改
2018-05-22 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消
2小時學會Spring Boot
  • 參與學習       151526    人
  • 解答問題       1132    個

Spring Boot入門視頻教程,你將學會使用Spring Boot快速構建應用程序

進入課程

return girlRepository.findOne(id);報錯的原因

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號