试题详情
简答题请简述MyBatis和Hibernate的区别。
  • 调优方案:
    Hibernate的调优方案:
    1.制定合理的缓存策略;
    2.尽量使用延迟加载特性;
    3.采用合理的Session管理机制;
    4.使用批量抓取,设定合理的批处理参数(batch_size);
    5.进行合理的O/R映射设计
    Mybatis调优方案:
    MyBatis在Session方面和Hibernate的Session生命周期是一致的,同样需要合理的Session管理机制。MyBatis同样具有二级缓存机制。MyBatis可以进行详细的SQL优化设计。
    1、SQL优化方面
    Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。HibernateSQL语句的调优需要将SQL打印出来,而Hibernate的SQL被很多人嫌弃因为太丑了。MyBatis的SQL是自己手动写的所以调整方便。但Hibernate具有自己的日志统计。Mybatis本身不带日志统计,使用Log4j进行日志记录
    2、扩展性方面
    Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的SQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。
  • 关注下方微信公众号,在线模考后查看

热门试题