zoukankan      html  css  js  c++  java
  • hibernate和mybatis区别

      看图

       Hibernate mybatis
    难易度 简单,容易上手
    编码 良好的映射机制,不需要关心 需要手动编写sql,resultMap
    调优
    1. 制定合理的缓存策略;
    2. 尽量使用延迟加载特性;
    3. 采用合理的Session管理机制;
    4. 使用批量抓取,设定合理的批处理参数(batch_size);
    5. 进行合理的O/R映射设计
    1. 采用合理的Session管理机制;
    2. 详细的SQL优化设计
    sql优化
    1. 查出所有属性,性能消耗高
    2. 有自己的日志统计
    1. 需要什么,返回什么属性
    2. 需要使用log4j记录日志
    数据库 数据库关联只需要xml中配置,移植性很好 sql语句依赖数据库,不同数据库类型的支持不好
    抓取策略

    对于每一个关联关系都可以详细地设置是否延迟加载,

    并且提供关联抓取、查询抓取、子查询抓取、批量抓取四种模式。 

    延迟加载是全局配置的
    缓存

    二级缓存配置在SessionFactory生成的配置文件中进行详细配置。

    二级缓存配置都是在每个具体的表-对象映射中进行详细配置
    • Hibernate与MyBatis都可以是通过SessionFactoryBuider由XML配置文件生成SessionFactory,                                                     然后由SessionFactory 生成Session,最后由Session来开启执行事务和SQL语句。                                                                         其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。
    • 都支持JDBC和JTA事务处理。
    • Session生命周期是一致的,都具有二级缓存机制
    代码 都是流行的持久层开发框架,都有相应的代码生成工具,生成最基本的Dao层方法。

      总而言之:mybatis更简单,容易上手,优点是更为细致的SQL优化,可以减少查询字段。

             hibernate 功能更强大,对对象的维护和缓存要好,数据库移植性好,更好的缓存机制。

            

  • 相关阅读:
    浏览器内核中各个线程之间的关系
    Browser进程和浏览器内核(Renderer进程)的通信过程
    babel 的一些记录
    mac nvm install
    小程序云开发补充
    JavaScript 导学推荐
    网页切片
    初探响应式Web设计
    WEB ICON 的探讨
    [转载]CSS 创作指南(Beta)(css规范)
  • 原文地址:https://www.cnblogs.com/start-fxw/p/7026541.html
Copyright © 2011-2022 走看看