开发者社区> 问答> 正文

[@倚贤][¥20]使用SpringBoot搭建框架到底选Hibernate还是Mybatis?

已解决

老师,您好。之前一直使用Hibernate做数据库中间件,后面看到现在公司主流都是使用Mybatis。所以想请问一下,这两个如果不从历史背景来看,应该怎么进行选择?感谢。

展开
收起
岳来越好 2018-11-01 17:10:15 4991 0
3 条回答
写回答
取消 提交回答
  • 全栈工程师,从事了 12 年以 Java 语⾔为主的软件开发工作,热衷于整合框架与开发工具,关注 交互设计,喜欢写技术博客(http://codelife.me/),Linux拥趸,问题终结者。近期开始学习和关注 Elixir 函数语言,合作翻译了《Elixir 程序设计》。
    采纳回答

    Hibernate 在简单场景下会用得很爽,如果表关联和复杂查询不多 Hibernate 够用的话,使用 Spring-data-jpa 的编程体验非常棒,写一个接口就可以自动生成查询。Hibernate 的真正掌握要比 Mybatis 困难。比如 HQL 或者 JPQL 只是一个 SQL 的子集,只支持左连接,对原生数据库的很多函数也支持不好,比如需要拼接或者时间计算。如果您想用 SQL 的底层能力,那 Mybatis 是更好的选择。但是 Mybatis 的开发效率和可移植性没有那么高。不是说 Hibernate 可以一行不改的移植数据库,但是想改还是改得动的。我们开发的项目本地就用 h2 等内存数据库,用 Hibernate 改一个方言就 OK 了。不过话说回来,对于普通项目l数据库的可移植性没有那么大的价值,很少有换数据库的场景。但是如果你开发一个产品,要给用户自由选择数据库的能力时,比如一个博客程序兼容很多种数据库,那 Hibernate 还是小有优势的。

    2019-07-17 23:11:43
    赞同 1 展开评论 打赏
  • JAVA开发工程师

    使用JPA

    2019-07-17 23:11:43
    赞同 展开评论 打赏
  • 前一个帐号wangccsy@126.com不知道怎么的就成了企业帐号,改不成个人。所以重新注册了一个个人帐号。老程序员。精通JAVA,C#,数据库,对软件开发过程和流程熟悉。考取系统分析师,项目管理师和系统架构设计师等软件资格考试认证。愿意和大家一起前进。

    这个需要看你的实际情况。Hibernate是完整的ORM框架,使用它基本上不需要你了解数据库和SQL,而MyBatis是半ORM框架,需要你有良好的SQL基础。

    2019-07-17 23:11:43
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
workshop专场-微服务专场-开发者动手实践营-微服务-Spring Cloud Alibaba 微服务全家桶体验 立即下载
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载

相关实验场景

更多