测试目的:
比较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. 两个List合并去重

    今天遇到一个合并去重问题,从网上搜索一样总结出来两个比较简单的方法,这里去重是只能取出地址相同的数据,例如:如果两个字符串的值相同但都是单独new出来的这样去不了 @Test public void ...

  2. Android -- 混淆

    混淆本质 把原来有具体含义的类名,变量名,方法名,修改成让人看不懂的名字,例如方法名getxx混淆为方法名a. Android Studio中的混淆 Android工程目录下有个文件,proguard ...

  3. Android -- queryIntentActivities

    某些时候你想要知道某个APP是否有注册了一个明确的intent,比如说你想要检查某个receiver是否存在,然后根据是否存在来这个receiver来在你的AP里面enable某些功能.我们可以通过P ...

  4. hadoop2.2.0 centos 编译安装详解

    http://blog.csdn.net/w13770269691/article/details/16883663 废话不讲,直切正题. 搭建环境:Centos x 6.4 64bit 1.安装JD ...

  5. nginx location 匹配的规则

    nginx 的配置文件中, server里面的location 的配置项的理解: server { listen 24010; client_max_body_size 30M; location = ...

  6. Java-JUC(四):同步容器介绍

    同步容器简介 针对容器我们知道有HashMap,HashTable,其中HashMap是一个非线程安全的,HashMap在并发执行put操作时会引起死循环,导致CPU利用率接近100%.因为多线程会导 ...

  7. Eclipse Maven项目报错2之A child container failed during start

    问题:在同事那里拿了一个Eclipse的maven项目,导入报错,主要显示的是A child container failed during start 具体错误如下 六月 02, 2018 12:0 ...

  8. Redis源代码剖析--对象object

    前面一系列的博客分析了Redis的基本数据结构,有动态字符串sds.双端链表sdlist.字典dict.跳跃表skiplist.整数集合intset和压缩列表ziplist等,这些数据结构对于用户来说 ...

  9. Android 模仿微信启动动画

    本文内容 环境 项目结构 演示微信启动动画 本文演示微信启动动画.请点击此处下载,自行调试. 顺便抱怨一下,实践性(与研究性质的相对)技术博的"七宗罪": 第一宗罪,错字连篇,逻辑 ...

  10. Linux下GoAccess的安装与全部用法

      GoAccess用户文档 一. GoAccess概述 1.1 GoAccess概述 goaccess是一个实时的web日志分析器,以及交互式查看器,在类Unix系统的终端(terminal)上运行 ...