mybatis也是基于JDBC的。Java與數(shù)據(jù)庫操作僅能通過JDBC完成。mybatis也要通過JDBC完成數(shù)據(jù)查詢、更新這些動作。
mybatis僅僅是在JDBC基礎上做了,OO化、封裝事務管理接口這些東西。
傳統(tǒng)JDBC操作數(shù)據(jù)
- 使用JDBC編程需要連接數(shù)據(jù)庫,注冊驅動和數(shù)據(jù)庫信息
- 操作Connection,打開Statement對象。
- 通過Statement執(zhí)行SQL,返回結果到ResultSet對象。
- 使用ResultSet讀取數(shù)據(jù),然后通過代碼轉化為具體的POJO對象。
- 關閉數(shù)據(jù)庫的相關資源。
jdbc存在弊端:
- 工作量相對較大,每次都要去創(chuàng)建,關閉,獲取
- JDBC編程可能產(chǎn)生的異常進行捕捉處理并正確關閉資源
對象關系映射(Object Relational Mapping)簡稱ORM
ORM模型就是數(shù)據(jù)庫的表和簡單Java對象(Plain Ordinary Java Object,簡稱POJO)的映射關系模型。
ORM模型提供了統(tǒng)一的規(guī)則使得數(shù)據(jù)庫的數(shù)據(jù)通過配置便可輕易的映射到POJO上
常見的有兩種
- 易于上手和掌握。
- sql寫在xml里,便于統(tǒng)一管理和優(yōu)化。
- 解除sql與程序代碼的耦合。
- 提供映射標簽,支持對象與數(shù)據(jù)庫的orm字段關系映射
- 提供對象關系映射標簽,支持對象關系組建維護
- 提供xml標簽,支持編寫動態(tài)sql。
- 消除了代碼的映射規(guī)則,它全部被分離到XML或者注解里面去配置。
- 無需再管理數(shù)據(jù)庫連接,它也配置到XML里面。
- 一個會話中,不要操作多個對象,只要操作Sesison即可。
- 關閉資源只需要關閉一個Session即可。
以上就是動力節(jié)點小編介紹的"Mybatis和JDBC的區(qū)別詳解",希望對大家有幫助,想了解更多可查看Java進階基礎教程技術文檔,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務。