主流 Java ORM 框架有哪些?

主流 Java ORM 框架有哪些?

ORM 是 Object Relational Mapping 的缩写,译为 “对象关系映射” 框架。
所谓的 ORM 框架就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述 Java 对象与数据库表之间的映射关系,自动将 Java 应用程序中的对象持久化到关系型数据库的表中。
ORM 框架是一种数据持久化技术,即在对象模型和关系型数据库之间建立起对应关系,并且提供一种机制,可通过 JavaBean 对象操作数据库表中的数据,如图 1 所示。

在这里插入图片描述
图 1:ORM 映射关系
在实际开发中,程序员使用面向对象的技术操作数据,而存储数据时,使用的却是关系型数据库,这样就造成了很多不便。ORM 可以在对象模型和关系型数据库的表之间建立一座桥梁,程序员使用 API 直接操作 JavaBean 对象就可以实现数据的存储、查询、更改和删除等操作

MyBatis 框架通过简单的 XML 或注解进行配置和原始映射,将实体类和 SQL 语句之间建立起映射关系,是一种半自动化的 ORM 实现

主流的 Java ORM 框架

当前 Java ORM 框架产品有很多,常见的框架有 Hibernate 和 MyBatis,其主要区别如下。

  1. Hibernate
    Hibernate 框架是一个全表映射的框架。通常开发者只要定义好持久化对象到数据库表的映射关系,就可以通过 Hibernate 框架提供的方法完成持久层操作。
    开发者并不需要熟练地掌握 SQL 语句的编写,Hibernate 框架会根据编制的存储逻辑,自动生成对应的 SQL,并调用 JDBC 接口来执行,所以其开发效率会高于 MyBatis 框架。
    然而 Hibernate 框架自身也存在一些缺点,例如:
    • 多表关联时,对 SQL 查询的支持较差;
    • 更新数据时,需要发送所有字段;
    • 不支持存储过程;
    • 不能通过优化 SQL 来优化性能。
    这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。
    Hibernate 官网:http://hibernate.org/
  2. MyBatis
    MyBatis 框架是一个半自动映射的框架。这里所谓的 “半自动” 是相对于 Hibernate 框架全表映射而言的,MyBatis 框架需要手动匹配提供 POJO、SQL 和映射关系,而 Hibernate 框架只需提供 POJO 和映射关系即可。
    与 Hibernate 框架相比,虽然使用 MyBatis 框架手动编写 SQL 要比使用 Hibernate 框架的工作量大,但 MyBatis 框架可以配置动态 SQL 并优化 SQL、通过配置决定 SQL 的映射规则,以及支持存储过程等。对于一些复杂的和需要优化性能的项目来说,显然使用 MyBatis 框架更加合适。
    MyBatis 框架可应用于需求多变的互联网项目,如电商项目;Hibernate 框架可应用于需求明确、业务固定的项目,如 OA 项目、ERP 项目等。
    MyBatis 3 中文文档:https://mybatis.org/mybatis-3/zh/
    分类: Mybatis
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在 Java 社区中,目前流行的技术有: 1. Spring 框架:是一个开源的 Java 应用框架,用于快速开发高质量的企业级应用程序。 2. Hibernate 框架:是一个开源的持久层框架,用于简化 Java 应用程序中的数据持久化和对象/关系映射(ORM)。 3. Maven:是一个项目管理工具,可以帮助开发人员管理项目的依赖关系、构建、测试和部署。 4. Git:是一个开源的版本控制系统,可以帮助开发人员管理代码的变更历史记录。 5. Jenkins:是一个开源的持续集成工具,可以帮助开发人员自动化构建、测试和部署应用程序。 6. Docker:是一个开源的容器平台,可以帮助开发人员将应用程序与其所需的环境进行隔离,方便在不同的机器之间部署和运行应用程序。 7. IntelliJ IDEA:是一个功能强大的 Java 集成开发环境,可以帮助开发人员更快地开发和调试代码。 这些技术并不是 Java 开发必不可少的,但是它们在 Java 社区中非常流行,并且在许多 Java 开发项目中都得到了广泛使用。 ### 回答2: 当前主流Java技术包括以下几个方面: 1. Java SE(标准版):Java的核心API和语言特性,包括集合框架、多线程、IO等。Java SE主要用于开发桌面应用、控制台程序和一些简单的服务器端应用。 2. Java EE(企业版):用于开发大规模、复杂的企业级应用,主要包括Servlet、JSP、EJB等技术。Java EE提供了面向企业级开发的解决方案,包括安全性、事务管理、分布式应用等。 3. Spring框架:一个综合性的应用程序框架,提供了各种模块化的技术和功能,包括依赖注入、AOP、Web开发、数据访问等。Spring框架可以简化Java应用的开发,提高系统的可维护性和扩展性。 4. Hibernate框架:用于持久化对象到关系型数据库的ORM框架。Hibernate提供了面向对象的数据库访问方式,可以隐藏数据库细节,简化数据访问代码的编写。 5. Spring Boot:Spring框架的扩展,用于快速构建独立的、生产级别的Spring应用程序。Spring Boot提供了自动配置、内嵌服务器等特性,简化了Spring应用的开发和部署。 6. Spring Cloud:用于构建分布式系统的微服务框架。Spring Cloud提供了服务注册与发现、负载均衡、分布式配置等功能,帮助开发人员构建可伸缩、弹性的微服务架构。 7. 数据库相关:Java开发中常用的数据库技术包括MySQL、Oracle、SQL Server等。此外,NoSQL数据库,如MongoDB,也逐渐受到Java开发者的关注。 总之,当前Java主流技术主要涵盖了核心开发、企业级开发、框架和库、微服务等多个方面,广泛应用于各种类型的软件开发。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值