zoukankan      html  css  js  c++  java
  • Hibernate与MyBaits的区别?

    (1)Hibernate是全自动,而myBatis是半自动,Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成SQL。而myBatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写SQL来实现和管理。

    (2)Hibernate数据库移植性远大于myBatis,Hibernate通过它强大的映射结构和HQL语言,大大降低了对象与数据库的耦合性,而myBatis由于需要手写SQL,因此与数据库的耦合性直接取决于开发人员写SQL的方法,如果SQL不具通用性而用了很多某数据库特性的SQL语句移植性也会随之降低很多成本很高。

    (3)Hibernate拥有完整的日志系统,myBatis则欠缺一些。Hibernate日志系统非常健全,涉及广泛包括:SQL记录、关系异常、优化警告、缓存提示、脏数据警告等;而myBatis则除了基本记录功能外,功能薄弱很多。

    (4)在SQL优化上myBatis要比Hibernate方便很多,由于myBatis的SQL都是写在xml里,因此优化SQL比Hibernate方便很多。而Hibernate的SQL很多都是自动生成的,无法直接维护SQL,虽有HQL但功能还是不及SQL强大。

    (5)Hibernate强大、方便、高效、复杂、全自动,myBatis小巧、方便、高效、简单、半自动。

  • 相关阅读:
    最长回文子串
    学习与提升
    jupyter notebook nginx 试听录音文件,网页试听
    【神经网络】batch、epoch、iteration的含义
    【tensorflow】Tensorflow入门教程
    最全BAT面试题
    打印二叉树
    基于argparser模块实现 ls 功能(基本实现)
    比较详细的argpasrse模块的基本使用
    ini文件转换为Json文件
  • 原文地址:https://www.cnblogs.com/hongwei2085/p/8878009.html
Copyright © 2011-2022 走看看