kyrre
V2EX  ›  问与答

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

  •  1
     
  •   kyrre · Aug 14, 2020 · 4432 views
    This topic created in 2278 days ago, the information mentioned may be changed or developed.

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

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

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