Java 实际项目中 db 层的选择? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fxjson
V2EX    Java

Java 实际项目中 db 层的选择?

  •  
  •   fxjson 2020-06-27 10:13:52 +08:00 6156 次点击
    这是一个创建于 2003 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道大家在公司 db 层用的什么,jpa 呢还是 mybatis,数据来源多表时通常是多表关联查询还是单表查询出结果后再组装数据呢?

    23 条回复    2020-06-30 18:28:41 +08:00
    wongy
        1
    wongy  
       2020-06-27 10:39:45 +08:00   1
    我用的 mybatis-plus,单表查询,组装数据。
    waising
        2
    waising  
       2020-06-27 10:54:43 +08:00 via iPhone
    jpa 单表
    seliote
        3
    seliote  
       2020-06-27 11:04:30 +08:00   1
    首先,Spring Data JPA 不是 JPA,这是两种东西。其次,数据操作少的话 Spring Data JPA 是一个比较好的选择,大量数据操作的话 MyBatis 会更方便。最后,两个框架对于数据表的设计模式是不同的,选型时需要考虑好。
    br00k
        4
    br00k  
       2020-06-27 11:07:02 +08:00 via iPhone
    Spring JPA+QueryDSL sql 和 mdb 都用这套
    gowk
        5
    gowk  
       2020-06-27 11:09:05 +08:00 via Android
    简单封装一下 jdbcTemplate 足矣,其他的都是把简单问题复杂化
    miao1007
        6
    miao1007  
       2020-06-27 11:38:44 +08:00 via iPhone
    看是否要联查与拆表
    lululau
        7
    lululau  
       2020-06-27 11:54:38 +08:00 via iPhone
    activeJDBC
    tctc4869
        8
    tctc4869  
       2020-06-27 12:11:39 +08:00
    如果想尽可能快,那么应该是具备零代码配置,orm,mapping 三大功能的 db 层框架,能动态配置数据源,动态配置数据表映射对象,动态配置 mapping 。这样就能做到可视化零代码配置持久层访问。

    (这里零代码配置指的是零代码后端配置,模板引擎代码和 sql 不算在内),完全可以可视化定制后端持久层访问。
    didala
        9
    didala  
       2020-06-27 13:15:16 +08:00
    Mybatis Plus
    hyperbin
        10
    hyperbin  
       2020-06-27 15:15:04 +08:00 via Android
    @gowk 存在 txt 文件里得了,要什么数据库
    vchat
        11
    vchat  
       2020-06-27 18:29:18 +08:00
    现在分布式已经是默认的情况下 应该都是 mybatis 吧 因为基本都是单表 几乎不会关联表操作 所以 mybatis 已经足够了 也简单
    fxjson
        12
    fxjson  
    OP
       2020-06-27 19:52:56 +08:00
    @vchat 是?想象不到,比如订单列表获取下单人姓名,不需要联合查询吗?
    xuanbg
        13
    xuanbg  
       2020-06-27 20:01:59 +08:00
    MySQL 单表的各位是不知道有 MongoDB 吗?
    sagaxu
        14
    sagaxu  
       2020-06-27 20:27:00 +08:00 via Android
    @vchat 可惜 mybatis 只有中国人用
    mreasonyang
        15
    mreasonyang  
       2020-06-27 23:07:10 +08:00
    @fxjson 这种一般就是调用用户信息服务查了,订单表只存个 userId 。如果一定要存在一套 DB 里那也是冗余维度存储、多条 SQL 查。现在互联网 C 端业务已经很少有联表这种操作了。
    clf
        16
    clf  
       2020-06-27 23:23:49 +08:00 via Android
    关系型数据库 mybatis plus 用的比较多。oracle 更多的直接在数据库里写存储过程(刚刚接触)。非关数据库 springboot 有的就用 spring 的,没有的用官方的。
    GM
        17
    GM  
       2020-06-28 00:08:06 +08:00
    @lululau 这货支持 11 了吗?
    intmax2147483647
        18
    intmax2147483647  
       2020-06-28 00:12:30 +08:00
    JPA 第一
    ruzztok
        19
    ruzztok  
       2020-06-28 06:56:38 +08:00
    spring 系列首选 jpa,其他 mybatis
    wysnylc
        20
    wysnylc  
       2020-06-28 10:23:34 +08:00
    通用 Mapper,可拔插设计不影响项目架构与原生 xml sql 共存支持多数据库方言
    hjosama
        21
    hjosama  
       2020-06-28 10:56:30 +08:00
    mybatis-plus 好用得很呐,crud+条件等查询自带方法,复杂 sql 可以用 mybatis 的注解 sql/xml
    ychost
        22
    ychost  
       2020-06-28 11:43:31 +08:00
    Spring data JPA 或者 tk.mybatis,最近发现 tk.mybatis 非常好用
    halk
        23
    halk  
       2020-06-30 18:28:41 +08:00
    @ychost 再试试 mybatis-plus 呢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2654 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 09:03 PVG 17:03 LAX 01:03 JFK 04:03
    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