测试目的
比较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

 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

[转载]JDBC/Spring/MyBatis性能比较的更多相关文章

  1. Spring事务隔离级别与传播机制详解,spring+mybatis+atomikos实现分布式事务管理

    原创说明:本文为本人原创作品,绝非他处转载,转账请注明出处 1.事务的定义:事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功.其必须遵循四个原则(ACID). ...

  2. SpringMVC +Spring + MyBatis + Mysql + Redis(作为二级缓存) 配置

    转载:http://blog.csdn.net/xiadi934/article/details/50786293 项目环境: 在SpringMVC +Spring + MyBatis + MySQL ...

  3. Idea SpringMVC+Spring+MyBatis+Maven调整【转】

    Idea SpringMVC+Spring+MyBatis+Maven整合   创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetyp ...

  4. SpringMVC+Spring+MyBatis+Maven调整【转】

    Idea SpringMVC+Spring+MyBatis+Maven整合   创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetyp ...

  5. Spring+Mybatis+Maven+MySql搭建实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+MySql的的搭建实例 ...

  6. Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...

  7. spring+mybatis事务管理

    spring+mybatis事务管理 最近在和朋友做一个项目,考虑用springmvc+mybatis来做,之前在公司工作吧,对于数据库这块的配置也有人再弄,最近因为这个项目,我就上网学习了一些关于数 ...

  8. spring,mybatis事务管理配置与@Transactional注解使用[转]

    spring,mybatis事务管理配置与@Transactional注解使用[转] spring,mybatis事务管理配置与@Transactional注解使用 概述事务管理对于企业应用来说是至关 ...

  9. Spring + mybatis整合方案总结 结合实例应用

    Spring + mybatis整合实例应用 项目结构图 (Spring3.0.2 +mybatis3.0.4) 方案一: 通过配置文件整合Spring和mybatis 应用数据库 -- --数据库 ...

随机推荐

  1. 性能优化 BlockCanary 卡顿监测 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. 【API规范】OpenAPI规范

    OpenAPI规范 openAPI 3.0_百度搜索 OpenAPI Specification 2.0 - CSDN博客 APP相关_API 列表_OpenAPI 2.0_开发指南_移动推送-阿里云 ...

  3. 浅析ARM公司在物联网领域的战略布局(转)

    随着ARM芯片的出货量越来越多,自信满满的ARM公司统一软硬件平台的战略和雄心壮志越来越凸显.最初ARM公司仅是出售自己的知识产权(IP核)给各大芯片公司,由于最初ARM公司处于劣势,所以给芯片厂商很 ...

  4. Mysql 创建表时错误:Tablespace for table `tablexx` exists. Please DISCARD the tablespace before IMPORT.

    在本地的一个数据库创建表时意外的出现了以下错误,说是表已经存在了 但通过desc 查看表信息时又说表不存在 在本地系统搜索表名却发现一个.ibd文件[InnoDB File] 在删除了该.ibd文件文 ...

  5. 解决电脑上PPT频繁刷新的问题

    操作步骤: 桌面鼠标右击--->屏幕分辨率-----> 高级设置 ----->监视器----->颜色----->选择:增强色(16位)--->确定完成

  6. ImageLoader初始化以及调用

    1.首先在当前程序的Application中调用ImageLoader的初始化init()方法 [java] view plain copy private void initImageLoader( ...

  7. C#.NET常见问题(FAQ)-override覆盖和virtual虚类如何理解

    父类使用virtual关键字,可以让子类的实例完全代替基类的类成员.(前面父类virtual后面子类override),比如下面我定义一个Employee的员工的基类,给这个基类定义了Start_Wo ...

  8. ActiveMQ面试专题

    https://blog.csdn.net/belvine/article/details/79399798

  9. Linux清理Buffer/Cache内存空间让系统变流畅

    释放缓存区内存的方法    a)清理pagecache(页面缓存) # echo 1 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_ ...

  10. jstat 使用日志

    如何判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序. Jstat是JDK自带的一个 ...