• <nav id="dstbx"></nav>

    <nav id="dstbx"></nav>
    1. <form id="dstbx"></form>
    2. <small id="dstbx"></small>

      教育行業A股IPO第一股(股票代碼 003032)

      全國咨詢/投訴熱線:400-618-4000

      MyBatis是什么?有什么作用?【java培訓】

      更新時間:2020年05月04日15時56分 來源:傳智播客 瀏覽次數:

      好口碑IT培訓


      MyBatis(前身是iBatis)是一個支持普通SQL查詢、存儲過程以及高級映射的持久層框架,它消除了幾乎所有的JDBC代碼和參數的手動設置以及對結果集的檢索,并使用簡單的XML或注解進行配置和原始映射,用以將接口和Java的POJO(Plain Old Java Object,普通Java對象)映射成數據庫中的記錄,使得Java開發人員可以使用面向對象的編程思想來操作數據庫。

      MyBatis 框架也被稱之為 ORM(Object/Relational Mapping,即對象關系映射)框架。所謂的 ORM 就是一種為了解決面向對象與關系型數據庫中數據類型不匹配的技術,它通過描述Java對象與數據庫表之間的映射關系,自動將Java應用程序中的對象持久化到關系型數據庫的表中。ORM框架的工作原理如下圖所示。

      1588578489385_數據庫、.png


      從上圖可以看出,使用ORM框架后,應用程序不再直接訪問底層數據庫,而是以面向對象的方式來操作持久化對象(Persisent Object,PO),而ORM框架則會通過映射關系將這些面向對象的操作轉換成底層的SQL操作。

      當前的ORM框架產品有很多,常見的ORM框架有Hibernate和MyBatis。這兩個框架的主要區別如下。

      ·Hibernate:是一個全表映射的框架。通常開發者只需定義好持久化對象到數據庫表的映射關系,就可以通過 Hibernate 提供的方法完成持久層操作。開發者并不需要熟練地掌握 SQL語句的編寫,Hibernate會根據制定的存儲邏輯,自動的生成對應的SQL,并調用JDBC接口來執行,所以其開發效率會高于MyBatis。然而Hibernate自身也存在著一些缺點,例如它在多表關聯時,對 SQL 查詢的支持較差;更新數據時,需要發送所有字段;不支持存儲過程;不能通過優化 SQL 來優化性能等。這些問題導致其只適合在場景不太復雜且對性能要求不高的項目中使用。

      ·MyBatis:是一個半自動映射的框架。這里所謂的“半自動”是相對于Hibernate全表映射而言的,MyBatis 需要手動匹配提供 POJO、SQL和映射關系,而Hibernate只需提供POJO 和映射關系即可。與Hibernate相比,雖然使用MyBatis手動編寫 SQL 要比使用Hibernate的工作量大,但MyBatis可以配置動態SQL并優化SQL,可以通過配置決定SQL的映射規則,它還支持存儲過程等。對于一些復雜的和需要優化性能的項目來說,顯然使用MyBatis更加合適。推薦了解傳智播客java中級程序員課程。

      猜你喜歡:

      MyBatis的基本使用

      神马影院我不卡,农村丰满肥熟老妇女,午夜电影网,2018日日摸夜夜添夜夜添 网站地图