V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LongLights
V2EX  ›  Java

Mybatis 是注解方式用得多还是 xml 用得多

  •  
  •   LongLights · 2019-03-31 21:08:10 +08:00 · 5969 次点击
    这是一个创建于 1846 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学习 ssm 框架的内容,单纯的比较好奇现在使用 Mybatis 是比较流行 xml 方式还是注解方式

    29 条回复    2019-04-01 17:50:55 +08:00
    taaaang
        1
    taaaang  
       2019-03-31 21:16:10 +08:00
    不知到你说的注解方式是用到什么程度,至少 sql 写注解里面是很操蛋的事情
    wolfie
        2
    wolfie  
       2019-03-31 21:21:06 +08:00
    xml 吧,没见过用注解写动态 sql 的。
    cnbobolee
        3
    cnbobolee  
       2019-03-31 21:21:21 +08:00
    注解吧,我以前的项目里面基本上看不到 xml 文件了。
    fumichael
        4
    fumichael  
       2019-03-31 21:24:39 +08:00
    @taaaang #1 我见过别人的项目,简单的单表操作就是直接写注解,注解的内容就是 sql
    目前维护的都是统一写在 xml 里面
    LongLights
        5
    LongLights  
    OP
       2019-03-31 21:25:45 +08:00
    看来还是得熟悉熟悉 xml 方式。。。现在好像比较喜欢写注解
    Salvation
        6
    Salvation  
       2019-03-31 21:29:15 +08:00   ❤️ 1
    我目前遇到的都是 xml 用得多。

    各有利弊吧。
    glaucus
        7
    glaucus  
       2019-03-31 21:30:03 +08:00 via iPhone
    简单注解,复杂 Provider
    sdxlh007
        8
    sdxlh007  
       2019-03-31 21:32:39 +08:00
    我还是喜欢 xml 方式。。。但是公司很多人喜欢注解方式
    daimazha
        9
    daimazha  
       2019-03-31 21:33:42 +08:00
    xml, 因为用 mbg 生成的
    taaaang
        10
    taaaang  
       2019-03-31 21:35:28 +08:00
    @fumichael 简单 sql 写注解,就是写时一时爽,维护起来就会越来越操蛋。复杂 sql 就不用说了,直接 xml。如果表结构不负责,业务简单,那直接 JPA 得了.
    gejun123456
        11
    gejun123456  
       2019-03-31 21:55:09 +08:00
    用 xml 可以试试 https://www.jianshu.com/p/1fb00955302a 使用 xml 效率很高
    buf1024
        12
    buf1024  
       2019-03-31 22:05:03 +08:00
    xml 目前居多,但推荐注解方式,主流。
    jorneyr
        13
    jorneyr  
       2019-03-31 22:09:52 +08:00
    推荐使用 xml
    wucao219101
        14
    wucao219101  
       2019-03-31 22:21:51 +08:00
    MyBatis Generator 一键生成代码和 xml 避免大量手写
    mtus
        15
    mtus  
       2019-03-31 23:15:10 +08:00
    还是 XML 方式更强大, 支持的扩展属性更多, 维护起来更方便.

    不过, 推荐看看 [jOOQ]( http://www.jooq.org/), 用起来更舒服.
    TommyLemon
        16
    TommyLemon  
       2019-04-01 00:14:10 +08:00
    可以参考以前的 V2 帖子:现在用 mybatis 都不用 xml 了吗
    https://www.v2ex.com/t/541755
    kidlj
        17
    kidlj  
       2019-04-01 00:47:20 +08:00
    @mtus Go 语言使用者看了看 jooq 的介绍有点儿眼红。哈哈哈哈。
    xuanbg
        18
    xuanbg  
       2019-04-01 05:19:09 +08:00
    复杂 SQL 照样用注解!

    都 9102 年了,还用 XML 这种反人类的东西。。。
    jinghong
        19
    jinghong  
       2019-04-01 08:53:07 +08:00
    xml
    lsongiu
        20
    lsongiu  
       2019-04-01 08:55:34 +08:00
    xml
    qiyuey
        21
    qiyuey  
       2019-04-01 09:19:18 +08:00 via Android
    注解
    AbnerYoo
        22
    AbnerYoo  
       2019-04-01 09:47:28 +08:00
    用 xml,不过之前在 v2 看到有用 mybatis plus,感觉也挺不错的,有机会也尝试下
    gscoder
        23
    gscoder  
       2019-04-01 10:06:33 +08:00
    复杂的用注解写很操蛋
    zorui
        24
    zorui  
       2019-04-01 10:20:29 +08:00
    xml
    luosuosile
        25
    luosuosile  
       2019-04-01 10:22:51 +08:00
    我自己都是写注解的,用个注解驱动,完全不用 xml 了。
    我觉得写在注解里面比在 xml 里面好读,还不用配置那么多。
    impossibleshen
        26
    impossibleshen  
       2019-04-01 10:33:03 +08:00
    除去联合查询,单表的直接 orm 映射写 sql,像 mybatis-plus 等,但是 xml 有个好处就是用在多数据源可以通过 resource 来省去一部分配置,其他的都 9012 年了,还尼玛 xml
    VoidChen
        27
    VoidChen  
       2019-04-01 10:53:26 +08:00
    我好像也就一年没写 web 怎么还倒退了?你们说的注解还是 ssh 那个时代的注解? xml 这个形式主要不是为了维护性吗,代码里面注解 sql 显得杂乱而且找起来也不方便吧。另外简单的增删查改不是用 spring 自带的 jpa 就好了吗。( ps:复杂 sql 最长的写过将近一页,跨库跨表多级嵌套= =)
    onice
        28
    onice  
       2019-04-01 11:17:10 +08:00
    Mybatis 的 XML 就是为了解耦,把 SQL 从 Java 代码中抽离出来,让开发者专注于 SQL 实现。所以一般是 XML 用的多。
    codz
        29
    codz  
       2019-04-01 17:50:55 +08:00
    XML 多.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2678 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:14 · PVG 13:14 · LAX 22:14 · JFK 01:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.