springboot orm 选型 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
fxjson
V2EX    程序员

springboot orm 选型

  •  
  •   fxjson 2023-12-09 11:51:47 +08:00 via Android 2956 次点击
    这是一个创建于 672 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教下大家 java 下操作数据库的 orm 用 jpa 多还是 mybatis,感觉 jpa 不太灵活,另外如果用 mybatis 多,不知道大家 xml 中写 resultmap 字段映射吗,还是直接 sql 中用 as 字段别名为 java 字段名,关联查询 xml 中写 collection 标签还是一条 sql 查询出结果,java 代码去组装数据,个人不太喜欢 resultmap 这样的标签,不知道实际商业项目大家怎么用

    404E
        1
    404E  
       2023-12-09 12:00:42 +08:00
    公司项目,小厂自己用的管理后台
    有很多数据都是计算得出的,sql 里面直接 as vo 的字段名字
    不过也有用 mp 查询出来然后在 java 里计算的
    jackytang520
        2
    jackytang520  
       2023-12-09 12:09:09 +08:00
    其实国内还是 mybatis 多些, mybatis 一般会搭配 mybatis plus 吧, 只有挺复杂的查询才会写 xml, 一般不用写吧. jpa 应该就是以前的 hibernate, 自己用过感觉驾驭起来有些难度
    ZZ74
        3
    ZZ74  
       2023-12-09 12:09:57 +08:00
    看你项目,业务简单,查询简单 jpa
    业务复杂就 mybatis
    silentsky
        4
    silentsky  
       2023-12-09 12:24:37 +08:00 via Android
    mybatis 虽然开始费劲了点 可是好维护 当你遇到一个问题时很容易就定位到具体位置
    fxjson
        5
    fxjson  
    OP
       2023-12-09 13:21:00 +08:00 via Android
    @silentsky 请教下你们是 resultmap 映射字段还是 sql 语句中 as bean 字段名
    guyeu
        6
    guyeu  
       2023-12-09 13:40:02 +08:00 via iPhone
    准备在新项目里上 eclipsestore 了,不折腾数据库写业务都会快一些
    xuanbg     7
    xuanbg  
       2023-12-09 14:02:12 +08:00
    mybatis ,写注解不写 xml
    looo
        8
    looo  
       2023-12-09 14:11:40 +08:00
    可以使用 QueryDSL 啊
    yooomu
        9
    yooomu  
       2023-12-09 15:09:48 +08:00
    mybatis 配合 mybatis plus 使用,简单单表查询就不写 xml 了,联表复杂查询就写 xml 了。resultmap 自己项目都是能不写就不写,让框架自动映射字段。公司项目还是尽量每个字段都写全,方便调试和协作,现在都有 IDE 插件生成这些东西,也算不上多麻烦
    unregister
        10
    unregister  
       2023-12-09 15:13:11 +08:00   2
    内心总觉的 mybaits 土 ,不是很面向国际,大家不要喷我哈。特别是 mybatis plus 标志挺丑的
    fxjson
        11
    fxjson  
    OP
       2023-12-09 15:34:05 +08:00 via Android
    @unregister 您工作用什么方案
    lifespy
        12
    lifespy  
       2023-12-09 16:46:19 +08:00
    mybatis plus 用下来确实是体验最好的,兼顾了灵活性和方便
    iv8d
        13
    iv8d  
       2023-12-09 16:49:58 +08:00 via Android
    mybatis plus 就是灵活,方便定位,入门容易
    unregister
        14
    unregister  
       2023-12-09 17:00:37 +08:00
    @fxjson 我用的比 mybatis 更古早,更麻烦。pl/sql
    unregister
        15
    unregister  
       2023-12-09 17:05:59 +08:00
    我的工作经验不是很丰富,但是就业务代码来说吧,很多人喜欢把业务放在 sql 中实现,有一个人特别夸张,有一定工作经验,完全放 sql ,我觉得写代码里不是更好吗?万一以后重构不是完蛋吗。我觉得查询就简简单单查询就可以了。
    yechentide
        16
    yechentide  
       2023-12-09 18:06:20 +08:00 via iPhone
    喜欢手写 SQL ,我选择 DOMA2
    linmt
        17
    linmt  
       2023-12-09 19:51:20 +08:00
    @looo 我也在用这个,但是好像已经不维护了,仓库最后一次提交以经是一年前了,release 也是两年前的了,有啥替代的吗
    lvdream
        18
    lvdream  
       2023-12-09 20:09:50 +08:00
    小公司,小项目,迭代少就 jpa ,省事

    迭代多的就 mybatis
    zigaai
        19
    zigaai  
       2023-12-09 21:50:41 +08:00
    jooq 逃~
    xaxb
        20
    xaxb  
       2023-12-09 22:56:06 +08:00 via iPhone
    Jpa+JdbcClient
    ZeawinL
        21
    ZeawinL  
       2023-12-10 00:14:37 +08:00 via iPhone
    MyBatis Plus 简单灵活易懂,对 多表连接+动态条件+分页 这类能写复杂业务友好。都是用 SQL 入门门槛低。
    machilus
        22
    machilus  
       2023-12-10 07:12:56 +08:00 via iPhone
    大公司在做的项目用的 mybatis ,resultmap 中 column 名字对应 model 的属性名,关联是在 resultmap 中加对应的 collection 标签。确实个人更喜欢这样子的灵活性,jpa 束手束脚
    gowk
        23
    gowk  
       2023-12-10 10:37:42 +08:00
    这么成熟的 Java 没有一个好用的 ORM 真的挺感慨的
    JPA 不灵活,学起来繁琐,多表联查要配合 QueryDSL ?个人不喜欢 DSL ,SQL 之上再封装一层,纯属无聊
    Mybatis 还 tm 在用古早的 XML ,虽然有注解但 SQL 写在源码里更丑
    Mybatis Plus 现在选择这个的比较多,但是想到它在 Mybatis 基础上又封装一层,再配合上 Spring Boot/Spring 那一套诘屈聱牙的技术迷宫,顿时性趣全无,另外就是上面的朋友说的,Mybatis Plus LOGO 丑
    再还有什么好的选择? JOOQ ?还是国产的小众框架?
    flmn
        24
    flmn  
       2023-12-10 14:46:59 +08:00
    没人研究过 Spring Data JDBC 么?还用什么 mybatis
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     953 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:51 PVG 06:51 LAX 15:51 JFK 18:51
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86