찾다

 >  Q&A  >  본문

java中的orm框架

很久没做java后台了,都不知道java发展的怎么样了。
现在ORM框架主流还是hibernate嘛,

ibtais和mybatis哪个用的多点。请大牛指点
补充:mybatis是ibatis的升级,是不是说明ibatis被淘汰了,我司好像还是用ibtais,我想从这两个中选择一个学习,大神们请推荐。

巴扎黑巴扎黑2808일 전1211

모든 응답(13)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 13:05:43

    hibernate和ibtas(mybatis)是为了解决不同问题而出现的。

    hibernate是从对象的角度去看数据库,所有数据库层面的表在hibernate看来都是一个个对象,若是对象自然就有一对多,一对一等等关系。hibernate在对象层面完全封装了数据库层面的操作。所以它是一完整的ORM工具。最大的好处就是开发人员能通过很少的代码量就完成数据库层面的操作,大大提示了开发效率,不需要去写很多JDBC代码。

    但是数据库毕竟不能只当做对象来看来,它有自己的组织方式,有自己的索引机制,当你数据库量到一定程度的时候,hibernate就会相当吃力,因为当通过对象的方式来组织对象之间的关系,就会导致映射到数据库层面的SQL会非常的复杂。

    恰恰这种复杂并不是数据库执行引擎所期待的时候,就会导致各种慢查询,故后来出现了ibtas(mybatis)这种半自动化的方式来解决性能问题。同数据库层面的交互还是通过具体的SQL,但是提供了一种机制来简化开发的工作量,也就是写JDBC的工作。

    现在的主流基本还是ibtas(mybatis),特别是对于互联网应用来说,hibernate太过重了!

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 13:05:43

    用SpringJdbc吧,比hibernate灵活,真不知道ibatis有什么好的,他的功能SpringJdbc都能实现。

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-17 13:05:43

    上面的hibernate,mybatis都太重量级了。

    你可以看下nutz,一站式解决。非常轻便。

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 13:05:43

    结论如图。
    但无论如何,仅仅就使用ORM框架而言,楼主大可放心去学习,不用担心时间成本的问题,不会占太多时间的。

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-17 13:05:43

    hibernate大概还是主流吧,mybatis是ibatis的升级啊,自然好用些,还支持注解!

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 13:05:43

    mybatis是ibatis开发团队整体从apache迁移到github的结果。所以就是直接的继承和升级。

    회신하다
    0
  • PHPz

    PHPz2017-04-17 13:05:43

    Spring Data JPA也是一个不错的选择

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 13:05:43

    hibernate太重了,不建议新手学,另外里面一堆的概念不是一个新手能操纵的;建议你学一下mybatis,入门简单,半自动orm,里面要写sql,还能学习和精通sql,亦可多得;宁外不要问什么主流不主流,mybatis和hibernate在项目都是考虑他们的特性、性能、开发效率,人员熟练度才选择用谁的(貌似现在高平发的网站都是用mybatis多),宁外你们公司项目上用了ibatis,那你更应该学习一下了,然后了解些它的升级mybatis(其实这个是ibatis从apache迁出去后改的名字而已,东西都是继承和改进的)

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-17 13:05:43

    mybatis,便于sql优化,学习成本低

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:05:43

    mybatis只是ibatis的第二个名字而已,建议使用mybatis,轻量级的orm框架,执行效率高,便于书写各种sql

    회신하다
    0
  • 취소회신하다