Mybatis与JDBC和Hibernate的比较

1.概述

MyBatis是最近几年非常流行的数据访问层(DAO)框架,能够简单高效的实现对数据层访问

2.Mybatis与JDBC和Hibernate的比较

2.1JDBC

java原生的关系型数据库访问方式

  • 每次操作数据库都需要获取连接关闭连接,在大量访问数据库时,频繁的开关连接消耗性能。
  • 需要手动编写sql,有学习成本
  • 查询出的结果需要手动进行封装到bean
  • 没有缓存处理机制
  • sql语句写死在程序中,需要修改sql必须修改源文件

2.2Hibernate

基于面向对象理念设计的DAO层框架,基本理念就是维护对象到表的映射关系,通过操作对象操作表中的数据,从而可以减少甚至杜绝sql的使用

类 ------------------- 表
对象                  表记录

传统的数据库处理方式,将对象和表记录存在频繁的转换,很麻烦,于是人们想:如果将对象和表记录先转换好,封装到Entity-实体,这样就表示了它们之间的关系,以后操作对象就被翻译成对表的操作,那么以后就不用关心表,只需要关心对象,程序中只要操作对象就能操作数据库,从数据库查询的数据也会转换为对象,可以不用在写sql----这就是衍生出来的hibernate 。但是hibernate 有很多缺陷,过于理想化) 

缺点如下: 

  • 相对比较沉重,效率不好
  • 当涉及到比较复杂的查询时Hibernate的操作对象的方式用起来非常麻烦,甚至无法实现,只能用sql操作
  • 底层需要频繁的拼接sql,产生大量冗余的sql

2.3MyBatis

是一种半自动对象-表映射关系的DAO层框架,可以自动的进行对象的封装,但是sql仍然需要自己来写。

结合了JDBC和Hibernate的优点,可以手写sql灵活实现数据访问,自动封装数据,减少冗余代码

mybatis的结构如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值