啥也不說了,上圖!
我分別測試了插入兩行數據,選擇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,都是這個時候的最新版本。