相同点 两者生成Session的过程及Session的生命周期差不多 两者都支持HDBC和JTA事务支持 不同点 Mybatis优势和缺点 可以更加精确的定位SQL语句,进行SQL优化 映射条件灵活,可以根据不同条件组装SQL 使用 Mapper的接口编程,只要一个接口和一个XML文件就可以创建映射器,简化开发过程 面向SQL语句,数据库移植性差 Hibernate优势和缺点 完全面向对象,数据库无关性好,O/R映射能力强 对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便 数据库移植性很好 有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳