1 ) Mybatis与hibernate不同,不完全是ORM框架。 Mybatis需要程序员自己编写Sql语句,但Mybatis灵活地配置XML或注释执行的Sql语句,将java对象映射到Sql语句以生成最终执行的Sql,最后将Sql的执行结果输出到java对象
2 ) Mybatis学习门槛低,易学易用,程序员可以直接编写原生态sql,严格控制sql的执行性能,灵活性强,非常适合开发对相关数据模型要求不高的软件,例如由于这种软件的需求频繁变化,需求会发生变化,但需求变化时要求成果输出迅速。 但是,mybatis假设无法实现数据库相关性,如果需要实现支持多个数据库的软件,则需要定制多个sql映射文件,这将会增加工作量。
3 )用Hibernate开发出Hibernate对象/关系映射能力强、数据库无关性好、对关系模型要求高的软件(如需求固定的定制软件)即可但是,Hibernate的缺点是学习的门槛更高,门槛更高。 此外,如何设计O/R映射、权衡性能和对象模型以及如何熟练使用Hibernate都需要较高的经验和能力。
无论如何,如果能够根据用户的需求在有限的资源环境中形成可维护、可扩展的软件体系结构,那就是最好的体系结构,所以只有合适的框架是最好的。