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