JDBC / Spring / MyBatis 性能比较

测试目的:
比较JDBC,SpringJdbc和MyBatis的性能。
 
测试用例:
1. 查询:查询一张10000条数据的表,只取前1000条
2. 更新:对该表分别进行:
    a)插入一条数据
    b)更新一条数据
    c)删除一条数据
3. 测试项:
    a)JDBC:纯粹jdbc代码
    b)JDBC.Object:jdbc的结果集转化为Object对象
    c)SpringJdbc:Spring的JDBC包,同样使用Object对象
    d)MyBatis:MyBatis3版本框架
 
测试环境:
数据库:SqlServer 2008
Java:jdk1.6 及时编译选择server
 
测试结果:
循环次数:是指for循环的次数,在每个循环中调用用例
得出的值:是指运行的时间,单位是ms

  Read Write
次序 循环次数 JDBC JDBC.Object Spring.JDBC MyBatis JDBC JDBC.Object Spring.JDBC MyBatis
1 50 1922 2136 2113 3150 1193 1217 1620 1622
2 100 4303 4379 4377 5349 2105 2200 3296 3204
3 150 6395 6524 6556 7937 3088 3085 4446 4655
4 200 8485 8478 8709 10587 4013 4085 6367 6157
5 250 10560 10886 10899 13299 5003 5830 7245 7720
6 300 12720 13046 13064 15844 6074 6429 8647 8865
7 350 14861 15140 15204 18408 7158 7344 10132 9654
8 400 16954 17344 17400 21146 8364 8469 12034 11770
9 450 19036 19550 19555 23899 9515 10242 13336 12542
10 500 21200 21730 21832 26495 10133 11506 14834 14115
11 550 23331 23942 23987 29032 11605 12918 15966 15797

Read对比图:


Write对比图:


综合比较:
read和write值由上面表格平均得到,即read[JDBC]=sum(read[JDBC])/sum(循环次数)
avg值=(read*3+write*2)/5
  JDBC JDBC.Object Spring.JDBC MyBatis
read 42.35363636 43.38030303 43.54424242 53.07454545
write 20.68212121 22.21969697 29.67363636 29.12151515
avg 33.6850303 34.91606061 37.996 43.49333333


综合比较图:


结论:
JDBC > JDBC.Object > Spring.JDBC > MyBatis

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。