项目中你们常用 MyBatis 的一对多、一对一等的关联功能么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
msl12
V2EX    Java

项目中你们常用 MyBatis 的一对多、一对一等的关联功能么?

  •  2
     
  •   msl12 2019-05-20 16:58:00 +08:00 3940 次点击
    这是一个创建于 2407 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前我们项目中都是 Dao 层没有使用 MyBatis 的关联,是在 Service 层自己进行拼接,这样子若是有表关联的业务就进行多次数据库查询。

    那你们的公司项目中会有用到 MyBatis 的关联的功能么?

    开发效率或性能上,使用或不使用关联会有很大的区别么?

    12 条回复    2019-05-21 09:18:21 +08:00
    loveCoding
        1
    loveCoding  
       2019-05-20 17:06:16 +08:00
    不用,DBA 禁止...
    beneo
        2
    beneo  
       2019-05-20 17:09:17 +08:00   1
    大公司的时候 DBA 禁止,只能 Mybatis,小公司的时候外键用的飞起,hibernate 拯救了我
    HonoSV
        3
    HonoSV  
       2019-05-20 17:10:31 +08:00
    多次查数据库,不会有性能问题么
    watzds
        4
    watzds  
       2019-05-20 17:19:42 +08:00 via Android
    某些时候多次查询,还有利于数据库缓存
    lihongjie0209
        5
    lihongjie0209  
       2019-05-20 17:22:15 +08:00
    这样不挺好的吗? 会有什么问题?
    night98
        6
    night98  
       2019-05-20 17:27:55 +08:00
    建议查阅阿里 java 开发手册,不建议使用任何关联查询
    qiyuey
        7
    qiyuey  
       2019-05-20 17:32:46 +08:00   1
    这样的方式对缓存是十分友好的,缓存的性能很强,数据库通常是瓶颈
    Jrue0011
        8
    Jrue0011  
       2019-05-20 17:57:12 +08:00 via iPhone
    说成关联查询好像容易让有的人认为是 sql 的 join 了,其实 association 和 collection 是延迟调用查询方法…
    msl12
        9
    msl12  
    OP
       2019-05-20 18:01:18 +08:00
    @night98 不依靠数据库拼接,而是让业务代码来进行拼接么?
    beginor
        10
    beginor  
       2019-05-20 18:56:36 +08:00 via Android   1
    我们用 hibernate,推荐使用关联映射, 做好了还是比较爽的
    Takamine
        11
    Takamine  
       2019-05-20 21:38:59 +08:00
    表示要求拆分成多次查询,用 BO 和 VO 去做拼接:doge:。
    loveCoding
        12
    loveCoding  
       2019-05-21 09:18:21 +08:00 via iPhone
    @HonoSV 那就避免多次查询,比如 list 转 map 给下层,或者用 guava cache 自动刷新
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5840 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 02:26 PVG 10:26 LAX 18:26 JFK 21:26
    Do have faith in what you're doing.
    ubao msn 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