首页 > 编程知识 正文

jdbc和odbc的区别,jpa与mybatis区别

时间:2023-05-06 14:10:07 阅读:173667 作者:3689

摘录: 《javaEE互联网轻量级框架整合开发》

MyBatis具有封装少、映射多样化、支持存储过程、可实现SQL优化等特点。 它已取代Hibernate成为Java internet首选的永久框架。

MyBatis和Hibernate都可以称为ORM框架。 Hibernate的设计理念完全面向POJO,而MyBatis则不是。

Hibernate很少需要编写SQL来通过映射关系操作数据库。 这是完整表映射的一个示例。 MyBatis必须提供SQL才能运行。 即使程序员不熟悉SQL,只要知道POJO的操作,就可以操作对应数据库的表。

在管理系统时代,Hibernate在当时是主流,因为它首先实现业务逻辑,然后实现性能。

在移动互联网时代,MyBatis优先,不屏蔽SQL。 程序员可以自己编写SQL规则,更准确地定义SQL以优化性能。 满足移动互联网高并发、大数据、高性能、高响应的要求。

添加、删除、搜索和修改Hibernate和MyBatis。 对于业务逻辑层来说大同小异,而对于映射层来说,配置Hibernate不需要接口和SQL。 相反,MyBatis是必要的。 如果是Hibernate,则无需编写大量SQL就可以完全映射。 它还提供日志、缓存和级联(级联功能比MyBatis强大)等特性。 hql (递归查询语言)虽然便于操作POIO,但也有致命的缺点。

因为不需要SQL,所以如果有两个以上的表相关联,则级联Hibernate会导致性能太低。 或者,我现在访问财务表,它与财产信息表相关联。 财产分为机器、原料等。 很明显,机器和原料的字段不同。 这样,相关字段只能根据特定条件的变化而变化。 Hibernate无法支持这样的变化。 遇到存储过程时,Hibernate必须退出。 更重要的是性能。 在管理系统的时代,对性能的要求并不严格,但在互联网时代,性能是系统的根本,响应太慢就会失去客户。 想想谁会使用需要等待10秒以上的APP应用程序。

上述问题都可以在MyBatis中解决。 MyBatis可以自由编写SQL,支持动态SQL,处理列表,动态生成表名,并支持存储过程。 这样可以在internet系统中灵活地定义重要的查询语句,满足各种需要和性能优化的需要。

但是,MyBatis也有缺陷。 首先,比Hibernate更需要编写SQL和映射规则。 其次,它支持的工具也很有限,而且不像Hibernate那样有很多插件可以帮助您生成映射代码和关联。 此外,使用生成工具也需要开发人员进一步简化。 因为MyBatis是手工编码的,所以工作量比较大。 因此,在性能要求不太苛刻的系统(如管理系统、ERP等)上,建议使用Hibernate。 对于性能要求高、响应快、灵活的系统,建议使用MyBatis。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。