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

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

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

    不知道大家在公司 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   ·   实用小工具   ·   3360 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:36 · PVG 18:36 · LAX 02:36 · JFK 05:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.