Mybatis和JDBC的區別詳解
阿新 • • 發佈:2021-09-01
mybatis也是基於JDBC的。Java與資料庫操作僅能通過JDBC完成。mybatis也要通過JDBC完成資料查詢、更新這些動作。
mybatis僅僅是在JDBC基礎上做了,OO化、封裝事務管理介面這些東西。
傳統JDBC操作資料
- 使用JDBC程式設計需要連線資料庫,註冊驅動和資料庫資訊
- 操作Connection,開啟Statement物件。
- 通過Statement執行SQL,返回結果到ResultSet物件。
- 使用ResultSet讀取資料,然後通過程式碼轉化為具體的POJO物件。
- 關閉資料庫的相關資源。
jdbc存在弊端:
- 工作量相對較大,每次都要去建立,關閉,獲取
- JDBC程式設計可能產生的異常進行捕捉處理並正確關閉資源
物件關係對映(Object Relational Mapping)簡稱ORM
ORM模型就是資料庫的表和簡單Java物件(Plain Ordinary Java Object,簡稱POJO)的對映關係模型。
ORM模型提供了統一的規則使得資料庫的資料通過配置便可輕易的對映到POJO上
常見的有兩種
mybatis
- 易於上手和掌握。
- sql寫在xml裡,便於統一管理和優化。
- 解除sql與程式程式碼的耦合。
- 提供對映標籤,支援物件與資料庫的orm欄位關係對映
- 提供物件關係對映標籤,支援物件關係組建維護
- 提供xml標籤,支援編寫動態sql。
hibernate
- 消除了程式碼的對映規則,它全部被分離到XML或者註解裡面去配置。
- 無需再管理資料庫連線,它也配置到XML裡面。
- 一個會話中,不要操作多個物件,只要操作Sesison即可。
- 關閉資源只需要關閉一個Session即可。