功能 | MyBatis | Hibernate |
---|---|---|
開發速度 | 上手容易 | 相對掌握困難 |
開發工做量 | 手寫SQL語句 | 也能夠手寫SQL語句,但破壞了Hibernate封裝和簡潔性 |
擴展性 | 由於是手寫SQL,全部擴展性好,但遷移性差 | 數據庫關係關聯都在XML中,因此HQL對是什麼數據庫不關心 |
移植性 | 很差,針對不一樣的數據庫寫不一樣的SQL | 較好 |
一級緩存 | SQLSession | Session緩存 |
二級緩存 | 在每一個具體的表-對象映射中進行詳細配置 | 在SessionFactory生成的配置文件中進行詳細配置, 而後再在具體的表-對象映射中配置是那種緩存 |
Hibernate與MyBatis均可以是經過SessionFactoryBuider由XML配置文件生成SessionFactory,而後由SessionFactory 生成Session,最後由Session來開啓執行事務和SQL語句。數據庫