Hibernate與mybatis比較

Hibernate與mybatis比較

一、先說底層:java

  a)Jdbc:全稱java數據庫鏈接,是java語言用來規範客戶端如何訪問數據庫的程序接口。sql

  b) 通常步驟:數據庫

i.加載驅動程序

    ii.得到數據庫鏈接誒

    iii.建立Statement或者PrepareStatement對象,實現增刪改查

二、爲了減小編寫jdbc編寫工做,提出了orm模型:hibernate和mybatis緩存

  a)Hibernate是全表映射框架。session

i.優勢:對jdbc封裝較好,有hql能夠自動生成sql語句。

    ii. 缺點:對多表關聯 複雜查詢支持較差,不支持存儲過程,不能知足開發者優化sql語句的願望

  b) Mybat是半自動映射框架mybatis

i.缺點:手動編寫sql語句,以及映射關係,工做量大

    ii.優勢:有動態sql機制,能夠優化sql語句,支持存儲過程

Hibernate緩存機制

一、why:hibernate是持久層框架,常常訪問物理數據庫。爲了較少對數據庫的訪問,提升數據庫訪問性能,加入了hibernate緩存機制。併發

二、what:hibernate包括一級緩存和二級緩存。框架

  a)一級緩存:又叫session的緩存,是事物範圍的緩存,默認開啓;性能

  b)二級緩存:又叫sessionfactory的緩存,默認關閉。二級緩存存放數據通常是不常常修改的數據,不會被併發訪問的數據,常量數據;優化

  c)訪問數據順序是:一級緩存——》二級緩存——》數據庫。

相關文章
相關標籤/搜索