Hibernate与 MyBatis的比较

Posted 霓裳依旧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate与 MyBatis的比较相关的知识,希望对你有一定的参考价值。

Hibernate与 MyBatis的比较

http://blog.csdn.net/firejuly/article/details/8190229

Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握, Hibernate会自动生成对应的SQL 并调用JDBC 接口加以执行。

Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。

Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的HQL语句与具体使用的数据库无关,移植性很好。

 

MyBatis则在于POJO 与SQL之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mapping”的ORM实现。

Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。

MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。

以上是关于Hibernate与 MyBatis的比较的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 与Mybatis之比较

Hibernate与 MyBatis的比较

Hibernate与 MyBatis的比较

Hibernate与 MyBatis的比较

持久层框架的比较Hibernate与 MyBatis

MyBatis与Hibernate比较