MyBatis简介

Mybatis前身
Mybatis的前身是Apache的开源框架iBatis,与Hibernate一样是一个Java持久层的框架。
Mybatis的优势在于灵活,它几乎可以替代JDBC,同时提供了接口编程。目前Mybatis的数据访问层DAO(Data Access Object)是不需要实习类的,它只需要一个接口和XML(或者注解),建议使用注解来实现。Mybatis提供自动映射,动态SQL,级联,缓存,注解,代码和SQL分离等特性,使用方便,同时也对SQL进行优化。因为其具有封装少,映射多样化,支持存储过程,可以进行SQL优化等特点,是的它取代了Hibernate成为Java互联网中首选持久层框架。
Mybatis3个优点

  • 不屏蔽SQL,意味着可以更为精确定位SQL语句,可以对其进行优化和改造,这有利于互联网系统性能的提高,符合互联网需要性能优化的特点。
  • 提供强大、灵活的映射机制,方便Java开发者使用。提供动态SQL的功能,允许我们根据不同组装SQL,这个功能远比其他工具或者Java编码的可读性和可维护性高得多,满足各种应用系统的同时也满足了需求经常变化的互联网应用的要求。
  • 在Mybatis中,提供了使用Mapper的接口编程,只需一个接口和一个XML就能创建映射器,一进步简化我们的工作,使得很多框架API和Mybatis中消失,开发者更能集中于业务逻辑
  • 基于浙源,Mybatis成为Java互联网时代的首选持久层框架。

Mybatis与Hibernate

Mybatis就是一个封装JDBC持久层框架,ORM框架(对象映射模型框架)
Hibernate是一个完全的ORM框架,Mybatis不是一个完全的ORM框架
无论是Mybatis还是Hibernate都是依靠某种方法,将数据库的表和POJO(Plain Ordinary Java Object-普通Java类)映射起来的,这样程序员就能操作POJO来完成相关的逻辑了。
我们把POJO对象和数据库表互相映射的框架称为对象关系映射(Object Relational Mapping,ORM,或O/RM)框架。无论Mybatis还是Hibernate都可以称为ORM框架,只是Hib的设计理念是完全面向POJO的,而Mybatis则不是。Hibernate基本不需要编写SQL就可以通过映射关系来操作数据库,是一种全表映射的体现:Mybatis则不同,它需要我们提供SQL去运行。
Hibernate与Mybatis区别
Hibernate和Mybatis的增删改查,对于业务逻辑层来说大同小异,对于映射层而言Hibernate的配置不需要接口和SQL,相反Mybatis是需要的。对于Hibernate而言,不需要编写大量的SQL,就可以完全映射,同时提供日志,缓存,级联等特性,此外还提供HQL对POJO进行操作,使用十分方便。
由于无需SQL,当多表关联超过3个的时候,通过Hibernate的级联性能就会下降,在开发管理系统、ERP等,这些性能下降用户可以接受,但是在互联网时代,要求高响应,响应过慢极度影响用户体验感,从而丢失用户。
Mybatis这些问题可以解决,但是代价就是增加开发者的工作量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值