相同点:
    1)都属于 ORM 框架
    2)都是对 jdbc 的包装
    3)都属于持久层的框架
    不同点:
    1)hibernate 是面向对象的,mybatis 是面向 sql 的;
    2)hibernate 全自动的 orm,mybatis 是半自动的 orm;
    3)hibernate 查询映射实体对象必须全字段查询,mybatis 可以不用;
    4)hibernate 级联操作,mybatis 则没有;
    5)hibernate 编写 hql 查询数据库大大降低了对象和数据库的耦合性,mybatis 提供动态 sql,
    需要手写 sql,与数据库之间的耦合度取决于程序员所写的 sql 的方法,所以 hibernate 的移
    植性要远大于 mybatis。
    6)hibernate 有方言夸数据库,mybatis 依赖于具体的数据库。
    7)hibernate 拥有完整的日志系统,mybatis 则相对比较欠缺。