{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

SpringBoot開發(fā)使用Mybatis還是Spring Data JPA?

AlphaWalletAlphaWallet 回答0 收藏1
問題描述:Spring Data JPA項目實戰(zhàn)中體驗如何
收藏問題

10條回答

DataPipeline

DataPipeline

回答于2022-06-28 14:13

如果讓我來說,我推薦你使用sqltoy-orm,增刪改和對象加載簡單查詢jpa模式,查詢則比mybatis強無數(shù)倍,更加直觀簡潔,另外具有緩存翻譯大幅提升查詢性能,還有很多人不敢想象的分頁優(yōu)化級別(很多僅僅優(yōu)化了count處理就以為很強了,見了sqltoy的分頁優(yōu)化才屬于見到了不可想象的事情)!
github上搜索sagacity-sqltoy!

gitee地址:

https://gitee.com/sagacity/sagacity-sqltoy








評論0 贊同0
  •  加載中...
plus2047

plus2047

回答于2022-06-28 14:13

我自己開發(fā)的情況下用JPA的比例比mybaits更多,首先我比較討厭mybaits那種標簽和SQL混用的風格,其次是JPA的也是可以使用原生SQL嵌入實習復雜查詢的,最后是JPA穩(wěn)定性比較好

評論0 贊同0
  •  加載中...
JaysonWang

JaysonWang

回答于2022-06-28 14:13

看你團隊喜好吧,Mybatis 容易上手,也更加靈活。

JPA 也不錯,畢竟屬于 Spring 全家桶一部分,像使用對象一樣寫 SQL 這種體驗也蠻好的。

都可以執(zhí)行原生 SQL。

怎么喜歡怎么來。

不必糾結(jié)。

評論0 贊同0
  •  加載中...
CollinPeng

CollinPeng

回答于2022-06-28 14:13

都可以吧,mybatis我更多用來寫報表統(tǒng)計,或者復雜的關(guān)聯(lián)查詢。如果架構(gòu)是微服務,并且通過業(yè)務解耦來避免了頻繁的事務,用spring data是非常好的選擇[呲牙]最后,為什么非要二選一呢?看看mybatis plus吧,成功的糅合了mybatis的靈活與jpa的快捷,還有代碼生成器,非常建議題主去試試!

評論0 贊同0
  •  加載中...
lanffy

lanffy

回答于2022-06-28 14:13

小項目JPA 大項目上mybatis +mybatis-plus 靈活

評論0 贊同0
  •  加載中...
fxp

fxp

回答于2022-06-28 14:13

大型項目用Mybatis,例如多表關(guān)聯(lián)查詢等,靈活。小型項目JPA,不需要寫SQL,操作對象即可。

評論0 贊同0
  •  加載中...
i_garfileo

i_garfileo

回答于2022-06-28 14:13

技術(shù)選型需要結(jié)合多方面來考慮,這里我試著列舉一些方面,僅供參考。

是否需要兼容多種數(shù)據(jù)庫。如果需要兼容,優(yōu)先考慮spring data jpa。因為mybatis想要兼容數(shù)據(jù)庫需要寫多套sql腳本,工作量很大。

開發(fā)團隊的經(jīng)驗。開發(fā)團隊成員過往開發(fā)中,對哪個orm框架更熟悉。一般來說,mybatis上手比較容易,jpa/hibernate雖然不用寫sql語句,但是配置復雜,各個狀態(tài)轉(zhuǎn)換難以理解,出現(xiàn)錯誤也難以調(diào)試,對開發(fā)人員能力要求較高。

性能考慮。作為orm框架,jpa/hibernate需要把數(shù)據(jù)庫行完全映射成java對象,占用內(nèi)存較大,特別是進行關(guān)鍵查詢的情況下。當然,這可以通過懶加載、查詢指定字段等方式優(yōu)化,但是和上面一樣,對人員要求較高。另外hibernate生成的sql語句可讀性也較差,不利于檢查問題。

其他雜項考慮。jpa對邏輯刪除支持較差; mybatis編寫ResultMap過于繁瑣等等。

總結(jié)一下,spring data jpa開發(fā)效率高,代碼量少,但是代價是學習成本和優(yōu)化成本比較高。mybatis代碼量大一些,不好兼容多種數(shù)據(jù)庫,但是手動編寫sql相對靈活,上手簡單。

評論0 贊同0
  •  加載中...
Kylin_Mountain

Kylin_Mountain

回答于2022-06-28 14:13

只有小孩子才做選擇,我全都要[呲牙]

評論0 贊同0
  •  加載中...
mylxsw

mylxsw

回答于2022-06-28 14:13

如果做的是管理類型的系統(tǒng)特別是動態(tài)查詢復雜的, mybatis 比較好些,其他推薦用Spring data jpa

評論0 贊同0
  •  加載中...
netScorpion

netScorpion

回答于2022-06-28 14:13

mybatis-plus

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<