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