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

2020-06-27 10:13:52 +08:00
 fxjson

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

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

(这里零代码配置指的是零代码后端配置,模板引擎代码和 sql 不算在内),完全可以可视化定制后端持久层访问。
didala
2020-06-27 13:15:16 +08:00
Mybatis Plus
hyperbin
2020-06-27 15:15:04 +08:00
@gowk 存在 txt 文件里得了,要什么数据库
vchat
2020-06-27 18:29:18 +08:00
现在分布式已经是默认的情况下 应该都是 mybatis 吧 因为基本都是单表 几乎不会关联表操作 所以 mybatis 已经足够了 也简单
fxjson
2020-06-27 19:52:56 +08:00
@vchat 是?想象不到,比如订单列表获取下单人姓名,不需要联合查询吗?
xuanbg
2020-06-27 20:01:59 +08:00
MySQL 单表的各位是不知道有 MongoDB 吗?
sagaxu
2020-06-27 20:27:00 +08:00
@vchat 可惜 mybatis 只有中国人用
mreasonyang
2020-06-27 23:07:10 +08:00
@fxjson 这种一般就是调用用户信息服务查了,订单表只存个 userId 。如果一定要存在一套 DB 里那也是冗余维度存储、多条 SQL 查。现在互联网 C 端业务已经很少有联表这种操作了。
clf
2020-06-27 23:23:49 +08:00
关系型数据库 mybatis plus 用的比较多。oracle 更多的直接在数据库里写存储过程(刚刚接触)。非关数据库 springboot 有的就用 spring 的,没有的用官方的。
GM
2020-06-28 00:08:06 +08:00
@lululau 这货支持 11 了吗?
intmax2147483647
2020-06-28 00:12:30 +08:00
JPA 第一
ruzztok
2020-06-28 06:56:38 +08:00
spring 系列首选 jpa,其他 mybatis
wysnylc
2020-06-28 10:23:34 +08:00
通用 Mapper,可拔插设计不影响项目架构与原生 xml sql 共存支持多数据库方言

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684987

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX