关于java:MyBatisMyBatis与Hibernate比较

32次阅读

共计 609 个字符,预计需要花费 2 分钟才能阅读完成。

1. Mybatis 与 Hibernate 区别

1.1 表格比拟

性能 MyBatisHibernate
开发速度 上手容易 绝对把握艰难
开发工作量 手写 SQL 语句 也能够手写 SQL 语句,但毁坏了 Hibernate 封装和简洁性
扩展性 因为是手写 SQL,所有扩展性好,但迁移性差 数据库关系关联都在 XML 中,所以 HQL 对是什么数据库不关怀
移植性 不好,针对不同的数据库写不同的 SQL 较好
一级缓存 SQLSessionSession 缓存
二级缓存 在每个具体的表 - 对象映射中进行具体配置 在 SessionFactory 生成的配置文件中进行具体配置,
而后再在具体的表 - 对象映射中配置是那种缓存

1.2 两者相同点

Hibernate 与 MyBatis 都能够是通过 SessionFactoryBuider 由 XML 配置文件生成 SessionFactory,而后由 SessionFactory 生成 Session,最初由 Session 来开启执行事务和 SQL 语句。

1.3 两者不同点

  1. 而 MyBatis 的劣势是 MyBatis 能够进行更为粗疏的 SQL 优化,能够缩小查问字段,并且容易把握。
  2. Hibernate 的劣势是 DAO 层开发比 MyBatis 简略,Mybatis 须要保护 SQL 和后果映射。
  3. Hibernate 数据库移植性很好,MyBatis 的数据库移植性不好,不同的数据库须要写不同 SQL。
  4. Hibernate 有更好的二级缓存机制,能够应用第三方缓存。MyBatis 自身提供的缓存机制不佳。
正文完
 0