Mybatis框架简介(一)

一、Mybatis框架简介:

在这里插入图片描述
MyBatis 的前身是 Apache 的开源项目 iBatis,2010 年这个项目由 Apache Software

Foundation 迁移到了 Google Code,并且改名为 MyBatis。MyBatis 几乎可以代替

JDBC,是一个支持普通 SQL 查询,存储过程和高级映射的基于 Java 的优秀持久层框

架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码

和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原

生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成

数据库中的记录。

MyBatis 与 JDBC 相比,减少了 50% 以上的代码量。并且满足高并发和高响应的要求,

所以它成为最流行的 Java 互联网持久框架。

目前,Java 的持久层框架产品有许多,常见的有 Hibernate 和 MyBatis。

二、Hibernate 和 MyBatis 的区别:

1)sql 优化方面:

  • Hibernate 不需要编写大量的 SQL,就可以完全映射,提供了日志、缓存、级联(级联比 MyBatis 强大)等特性,此外还提供
    HQL(Hibernate Query Language)对 POJO 进行操作。但会多消耗性能。

  • MyBatis 手动编写 SQL,支持动态 SQL、处理列表、动态生成表名、支持存储过程。工作量相对大些。

2)开发方面:

  • MyBatis 是一个半自动映射的框架,因为 MyBatis 需要手动匹配 POJO、SQL 和映射关系。

  • Hibernate 是一个全表映射的框架,只需提供 POJO 和映射关系即可。

3)Hibernate 优势:

  • Hibernate 的 DAO 层开发比 MyBatis 简单,Mybatis 需要维护 SQL 和结果映射。

  • Hibernate 对对象的维护和缓存要比 MyBatis 好,对增删改查的对象的维护要方便。

  • Hibernate 数据库移植性很好,MyBatis 的数据库移植性不好,不同的数据库需要写不同 SQL。

  • Hibernate 有更好的二级缓存机制,可以使用第三方缓存。MyBatis 本身提供的缓存机制不佳。

4)Mybatis优势:

  • MyBatis 可以进行更为细致的 SQL 优化,可以减少查询字段。

  • MyBatis 容易掌握,而 Hibernate 门槛较高。

总的来说,MyBatis 是一个小巧、方便、高效、简单、直接、半自动化的持久层框架,Hibernate 是一个强大、方便、高效、复杂、间接、全自动化的持久层框架。

所以对于性能要求不太苛刻的系统,比如管理系统、ERP 等推荐使用 Hibernate,而对于性能要求高、响应快、灵活的系统则推荐使用 MyBatis。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值