V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kyrre
V2EX  ›  问与答

到底是什么原因促使你选择了 MyBatis 作为 ORMapping 的?

  •  1
     
  •   kyrre · 2020-08-14 16:04:56 +08:00 · 3104 次点击
    这是一个创建于 1563 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基本上收到的简历里 95%都是用 MyBatis 的,Hibernate 用的很少。

    21 条回复    2020-09-05 19:10:25 +08:00
    B1ankCat
        1
    B1ankCat  
       2020-08-14 16:39:05 +08:00
    我就不一样了,我用 exposed
    uselessVisitor
        2
    uselessVisitor  
       2020-08-14 17:18:08 +08:00
    大多数还是习惯写 sql 语句的吧
    KingOfUSA
        3
    KingOfUSA  
       2020-08-14 17:28:01 +08:00
    kotlin 用 exposed,java 用 jooq
    oneisall8955
        4
    oneisall8955  
       2020-08-14 17:28:03 +08:00 via Android
    jpa 比较舒服,mybatis 也用,看公司吧
    Kirsk
        5
    Kirsk  
       2020-08-14 17:36:35 +08:00
    我就不一样了,我用 jpa
    DJQTDJ
        6
    DJQTDJ  
       2020-08-14 17:52:55 +08:00 via iPhone
    都一样、毕竟 3 月就能写了
    dtgxx
        7
    dtgxx  
       2020-08-14 18:26:11 +08:00
    因为它火呗
    nl101531
        8
    nl101531  
       2020-08-14 19:57:33 +08:00 via iPhone
    主要是直观,好理解
    murmur
        9
    murmur  
       2020-08-14 19:59:38 +08:00   ❤️ 1
    我们要写很多的复杂业务和报表
    Cbdy
        10
    Cbdy  
       2020-08-14 20:04:48 +08:00
    基本只用 JDBC Template,写 SQL 效率高点
    我一直认为 Hibernate 这样的库,在 Java 里面是反模式
    echo1937
        11
    echo1937  
       2020-08-14 20:28:24 +08:00
    我用 JPA,只在很不方便的时候采用 MyBatis
    hcx0
        12
    hcx0  
       2020-08-14 20:58:00 +08:00
    因为早年阿里不知真假的选择和阿里的成功导致 MyBatis 获得了大量的早期用户,Hibernate 过高的学习成本错过了推广时机,然后用户到达一定规模就成为惯性了,很多人在做选型的根本不会考虑其他,这就进一步压缩了其他 ORM 的发展空间。

    Mybatis 是真难用,导致大家又开发了一堆插件让他往蹩脚版 Hibernate 方向发展。
    zhazi
        13
    zhazi  
       2020-08-14 21:00:45 +08:00 via Android
    @Cbdy 哈?
    liununu
        14
    liununu  
       2020-08-14 21:01:48 +08:00 via Android
    @KingOfUSA 同 JOOQ,Kotlin 也是用的这个。现在在苦等 3.14 发版
    yema50
        15
    yema50  
       2020-08-14 23:43:37 +08:00 via iPhone
    之前开发用 spring data jpa 感觉挺方便的,一般的业务逻辑都不需要写 SQL,复杂点的也可以通过加 @Query 里写 SQL. 现在公司用 MyBatis,明显感觉开发效率降低了,或者是我对 MyBatis 还不熟🤔
    mew1
        16
    mew1  
       2020-08-15 04:48:44 +08:00
    选啥有差吗,不都是 Java 。我看好多用 Hibernate 写一堆 sql 在 java 文件里,还不如用 MyBatis 。
    Cbdy
        17
    Cbdy  
       2020-08-15 09:12:55 +08:00 via Android   ❤️ 2
    @zhazi exposed 、jooq 、Hibernate 这样的框架实际上实际上又发明了一套和 SQL 类似的 DSL 用来描述数据操作,那为什么不直接使用 SQL ?
    jerrry
        18
    jerrry  
       2020-08-15 10:56:21 +08:00 via Android
    @Cbdy user.username.eq("test"), 和 字符串 "username = 'test' " 哪个更有优势显而易见吧?
    zhazi
        19
    zhazi  
       2020-08-15 13:56:40 +08:00 via Android
    @Cbdy 谁跟你说 orm 是描述数据操作的?
    kyrre
        20
    kyrre  
    OP
       2020-08-15 17:36:34 +08:00
    我之前用过很长一段时间的 RoR,所以后来又用回 SpringBoot 时感觉 java 的春天又回来了,因为 ActiveRecord 的缘故,对 hibernate 的那套感觉比较亲切。后来也尝试用 mybatis,无奈对这种做法已经感觉无法适应了。
    Gitizen
        21
    Gitizen  
       2020-09-05 19:10:25 +08:00
    为了可以找到工作啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:43 · PVG 02:43 · LAX 10:43 · JFK 13:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.