测试目的
比较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. Solr搜索结果说明 (转)

    在admin页面,输入相关内容后,会返回xml格式的内容.说明如下: <?xml version="1.0" encoding="UTF-8"?> ...

  2. 七牛云存储 qiniu 域名 回收 文件上传 备份 下载 MD

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

  3. 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)

    之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点: 一.oauth中的角 ...

  4. codeforces 551 C GukiZ hates Boxes

    --睡太晚了. ..脑子就傻了-- 这个题想的时候并没有想到该这样-- 题意大概是有n堆箱子从左往右依次排列,每堆ai个箱子,有m个人,最開始都站在第一个箱子的左边, 每个人在每一秒钟都必须做出两种选 ...

  5. 【Python】由host得到IP

    代码: import socket host='www.163.com' ip=socket.gethostbyname(host) print('Ip of {} is {}'.format(hos ...

  6. windows命令行的使用,去掉"半"字

    1.新启动一个命令行,如果当前sogou是中文输入法,输入之后,下面出现一个"半"字.切换到英文输入法,这个"半"字,也不会消失,怎么办? 先切换到英文输入法, ...

  7. 怎样让孩子爱上设计模式 —— 7.适配器模式(Adapter Pattern)

    怎样让孩子爱上设计模式 -- 7.适配器模式(Adapter Pattern) 标签: 设计模式初涉 概念相关 定义: 适配器模式把一个类的接口变换成client所期待的还有一种接口,从而 使原本因接 ...

  8. 在Ubuntu系统上搭建Hadoop 2.x(2.6.2)

    官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网 ...

  9. To LACP or not to LACP (on a 5.1 vDS)

    http://www.poppingclouds.com/2012/12/20/to-lacp-or-not-to-lacp-on-a-5-1-vds-2/ I have been recently ...

  10. C#通过代码调用PowerShell

    var userId = "MyAccount@XXXXX.partner.onmschina.cn"; var tenantId = "XXXXX-ca13-4bcb- ...