看了會jpa的文檔,感覺挺不錯的,如果都是增刪改和簡單查詢,那基本就不用寫sql,同時數(shù)據(jù)庫也交由jpa管理,省心。
當(dāng)然jpa也絕對不全是優(yōu)點(diǎn),當(dāng)默認(rèn)的規(guī)范生成sql不能滿足我們的業(yè)務(wù)的時候。mybatis直接寫sql更簡單,更易實現(xiàn)。而且,我們也可以更好的調(diào)整sql以提升性能(sql的調(diào)優(yōu)后,性能成倍提高的)。
那么,他們之間改怎么選擇呢
使用 spring data jpa
- 打算自己維護(hù)一個開源項目,但卻沒時間管理數(shù)據(jù)庫(我在這里,準(zhǔn)備使用)
- 公司的項目是為其他公司服務(wù)的,有需要跑在不同數(shù)據(jù)庫上,不追求性能(mybatis也能多數(shù)據(jù)庫,但是你得為不同的數(shù)據(jù)庫寫不同的sql)
- 小項目,需快速完成
- 報表不多,且對性能要求不高的項目
使用mybatis
- 公司內(nèi)部系統(tǒng),由內(nèi)部員工開發(fā),同時也有專門的dba把控數(shù)據(jù)庫
- 對性能要求比較高
- 報表較多的項目
- 有很復(fù)雜的數(shù)據(jù)庫操作
當(dāng)然最重要的:對哪個熟悉用哪個
不知道寫全沒,最后引用一句話:jpa適合領(lǐng)域模型,mybatis適合事務(wù)腳本