Hibernate、MyBatis、两者的区别

Hibernate

什么是Hibernate

Hibernate是一个全ORM框架,自动生成并执行SQL语句,只需定义POJO到数据库表里的映射关系

注解:何为POJO

POJO(plain ordinary java object) 简单无规则java对象
纯的传统意义的java对象。就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。即最基本的Java Bean,只有属性字段及setter和getter方法

优劣

  • 数据库方便移植
  • 不需要管理数据库的连接
  • 消除了代码的映射关系,在XML/注解中自动配置
  1. 门槛高,所学内容多
  2. 难懂,框架结构复杂

MyBatis

什么是MyBatis

MyBatis是一个半自动化得ORM,它需要手工匹配提供POJO、SQL和映射关系,是一个java持久层框架。

解决了Hibernate的不足,是目前java移动互联网网站服务的首选持久层框架,适合分布式和大数据网络数据库编程

优劣

  • 封装少、高性能、可优化、维护简单。
  • 可手工定制sql,实现sql与java代码分离,灵活性高
  • 只需要sql进行操作,不需要学习额外的内容
  1. 数据库移植性不好,不同的数据库需要写不同SQL

两者的区别

Hibernate用于传统型公司,需求单一,业务明确。

MyBatis用于互联网公司,需求多样化,快速发展。

原文地址:https://www.cnblogs.com/Anm214/p/14550349.html