相同点
1.都是对象关系映射(Object Relational Mapping)框架,体现为都提供实体类和数据库表相互映射的功能。
2.业务逻辑代码层面的操作基本一致。
区别
1.hibernate设计理念是完全面向POJO(Plain Ordinary Java Object)的,所以使用者可以基本不用书写sql就能通过配置的映射关系完成数据库操作,但是mybatis不一样,他需要我们手动书写sql。总的来说,hibernate的优势在于能让程序开发人员更多的关注业务实现,而不是sql书写(框架会根据映射关系自动生成sql)。但是,mybatis虽然需要我们自己书写sql和接口,开发工作量较大,但是它比起hibernate更加灵活,并且能够不断的优化sql(因为是自定义的),也就是具有更强的灵活性和可优化性。
2.hibernate通常用于传统管理系统的开发,而mybatis广泛的应用于互联网开发(因为互联网需要灵活和可优化,毕竟一条sql的执行时间在优化前和优化后差别很大)
所以,还是mybatis屌啊。