jdbc資料收集JDBC,MYBATIS,Hibernate性能對比!

 

jdbc不足

儘管JDBC在JAVA語言層面實現了統一,但不一樣數據庫仍舊有許多差別。爲了更好地實現跨數據庫操做,因而誕生了hibernate項目,Hibernate是對JDBC的再封裝,實現了對數據庫操做更寬泛的統一和更好的可移植性。html

二、java

 

二、java程序員從笨鳥到菜鳥之(七)一—java數據庫操做

 

三、Java操做數據庫--以SQL Server爲例

 

 

 

四、JDBC與JNDI這兩種鏈接方式有什麼區別?

http://blog.sina.com.cn/s/blog_6c9e93cc0101191s.htmlmysql

直接使用JDBC或者經過JNDI引用數據源的編程代碼量相差無幾,可是如今的程序能夠不用關心具體JDBC參數了。程序員

    在系統部署後,若是數據庫的相關參數變動,只須要從新配置 mysql-ds.xml 修改其中的JDBC參數,只要保證數據源的名稱不變,那麼程序源代碼就無需修改。sql

    因而可知,JNDI避免了程序與數據庫之間的緊耦合,使應用更加易於配置、易於部署。數據庫

 

ibatis與mybatis區別?編程

 

ibatis是mybatis的前身,在2010年7\8月份ibatis所項目移到了google,就將ibatis3.x正式更名爲mybatis3.x了。session

除此以外,mybatis相比ibatis使用起來更加方便,有:mybatis

1)Mybatis實現了接口綁定,使用更加方便。 框架

2)對象關係映射的改進,效率更高

3)MyBatis採用功能強大的基於OGNL的表達式來消除其餘元素

 

六、hibernate、MyBatis、JDBC區別

 

1)從層次上看,JDBC是較底層的持久層操做方式,而Hibernate和MyBatis都是在JDBC的基礎上進行了封裝使其更加方便程序員對持久層的操做。

2)從功能上看,JDBC就是簡單的創建數據庫鏈接,而後建立statement,將sql語句傳給statement去執行,若是是有返回結果的查詢語句,會將

查詢結果放到ResultSet對象中,經過對ResultSet對象的遍歷操做來獲取數據;Hibernate是將數據庫中的數據表映射爲持久層的Java對象,實現

數據表的完整性控制;MyBatis是將sql語句中的輸入參數和輸出參數映射爲java對象,放棄了對數據表的完整性控制,可是得到了更靈活和響應

性能更快的優點。

3)從使用上看,若是進行底層編程,並且對性能要求極高的話,應該採用JDBC的方式;若是要對數據庫進行完整性控制的話建議使用Hibernate;

若是要靈活使用sql語句的話建議採用MyBatis框架。

 

 

JDBC,MYBATIS,Hibernate性能對比!

我分別測試了插入兩行數據,選擇58行和349行數據進行對比。表中session factory表示初始化,建立session factory的時間。hibernate sql query表示hibernate採用原生SQL操做方式。

若是隻是偶爾操做一下數據庫。

那麼這個session factory時間會包含在內。可是若是大量操做數據,session factory時間之須要消耗一次便可,這個時候hibernate就佔優了。

讓我意外的是,mybatis性能沒有想象的好,甚至不如hibernate。hibernate在SQL模式下,性能有所改善,可是和JDBC相比,仍是遠遠不如。

不管在什麼模式下,JDBC能夠說搖搖領先,性能之王。插入基本上是其餘框架的3-5倍,選擇更是保持在10倍以上。若是在乎性能,那麼JDBC絕對是最佳的選擇。

圖上測試環境是:mySQL 5.6 hibernate 4.2,mybatis 3.2.1,都是這個時候的最新版本。

 

七、J2EE學習篇之--JDBC詳解

 

 

 

八、Java jdbc數據庫鏈接池總結!

 

java操做數據庫鏈接池發現一篇很好的文章

http://www.blogjava.net/chunkyo/archive/2007/01/16/94266.html

http://www.360doc.com/content/12/0706/15/6161903_222624693.shtml

相關文章
相關標籤/搜索