啥也不说了,上图!
我分别测试了插入两行数据,选择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,都是这个时候的最新版本。