【MyBatis】与Hibernate概念对比

Hibernate框架:一种开源的、轻量级的ORM框架,允许将普通的、传统的Java对象(POJO)映射成持久化类,允许应用程序一面向对象的方式来操作POJO,Hibernate框架负责将这种操作转化成底层的SQL操作

MyBatis框架Apache组织提供的一个轻量级持久层框架,支持普通SQL查询、存储过程和高级映射的优秀持久层框架。

        一些新系统和新项目的开发使用Hibernate就显得中无往不利。但是一些特定的环境下,比如:

1、系统的部分或者全部数据来自现有数据库,出于安全考虑,只对开发团队提供几条SelectSQL或存储过程以获取所需数据,具体的表结构不公开。

2、开发规范中要求,所有牵扯逻辑处理的数据库的操作,必须在数据库由存储过程实现(如金融行中各大商业银行都有这样的严格开发规范)。

3、系统数据处理量大,性能要求苛刻我们必须通过高度优化的SQL或者存储过程才能达到系统的性能指标。

Hibernate就不再适合甚至不能使用。而“半自动”的MyBatis却能很好的适应这样的严格的开发需求,这里的“半自动化”是相对Hibernate的“全自动化”(SQL的自动生成和执行)ORM实现而言。

       Hibernate与MyBatis相同点使开发人员在开发过程中面对的是纯粹的Java对象不同点在于对具体数据库操作Hibernate会自动生成SQL语句,而MyBatis则不会为程序员在运行期间自动生成SQL,具体的SQL需要我们自己编写,通过映射文件将SQL所需的参数以及返回结果字段映射到指定的POJO中

       MyBatis存在的意义:消除了几乎所有的JDBC代码和参数的手工设置过程以及对结果集的检索封装,可以使用简单的XML或者注解来进行配置和原始映射。将接口和Java的POJO映射成数据库中的记录。作为持久层框架,主要思想是将程序中大量的SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置。更好的将SQL与代码分离,可以不修改代码直接在文件中修改SQL。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值