Mybatis与Hibernate的本质区别

来源:互联网 发布:淘宝的优惠券怎么用啊 编辑:程序博客网 时间:2024/05/22 06:21

  我们知道Hibernate和Mybatis都是持久化的框架,用来处理Java程序和数据库数据交流的框架。那么二者到底有什么区别呢?或者说我们在选择持久层框架的时候,如何针对不同的需求来选用这两个框架呢?

  1.Hibernate

    Hibernate是一个标准的ORM(对象关系映射)的框架,入门的门槛较高,不需要程序员自己写SQL语句,SQL语句根据定义的HQL语句和hbm.xml映射文件自动的生成了,因为SQL语句是自动生成的,所以如果我们要修改SQL语句是比较困难的。

  适用场景:适用于需求变化不多的小型的项目,这样的项目SQL修改的不多。如:后台管理项目:erp,orm等。

  2.Mybatis

    Mybatis是一个不完全的ORM框架,虽然程序员自己写SQL,当是Mybatis也实现了映射关系:

  输入映射:将方法中传递过来的参数映射到了SQL语句中。

  输出映射:将从数据库中查询出来的结果集映射到了普通的Java对象中。

  Mybatis是可以让程序员专注SQL本身,需要程序员自己编写SQL语句,所以SQL的修改和优化比较方便。

  适用场景:适用于需求变化较快的项目,比如:互联网项目。

  3.企业技术选型的原则

  底成本,高回报。根据项目组的技术力量进行判断。

原创粉丝点击