请教下大家 java 下操作数据库的 orm 用 jpa 多还是 mybatis,感觉 jpa 不太灵活,另外如果用 mybatis 多,不知道大家 xml 中写 resultmap 字段映射吗,还是直接 sql 中用 as 字段别名为 java 字段名,关联查询 xml 中写 collection 标签还是一条 sql 查询出结果,java 代码去组装数据,个人不太喜欢 resultmap 这样的标签,不知道实际商业项目大家怎么用
1
404E 2023-12-09 12:00:42 +08:00
公司项目,小厂自己用的管理后台
有很多数据都是计算得出的,sql 里面直接 as vo 的字段名字 不过也有用 mp 查询出来然后在 java 里计算的 |
2
jackytang520 2023-12-09 12:09:09 +08:00
其实国内还是 mybatis 多些, mybatis 一般会搭配 mybatis plus 吧, 只有挺复杂的查询才会写 xml, 一般不用写吧. jpa 应该就是以前的 hibernate, 自己用过感觉驾驭起来有些难度
|
3
ZZ74 2023-12-09 12:09:57 +08:00
看你项目,业务简单,查询简单 jpa
业务复杂就 mybatis |
4
silentsky 2023-12-09 12:24:37 +08:00 via Android
mybatis 虽然开始费劲了点 可是好维护 当你遇到一个问题时很容易就定位到具体位置
|
5
fxjson OP @silentsky 请教下你们是 resultmap 映射字段还是 sql 语句中 as bean 字段名
|
6
guyeu 2023-12-09 13:40:02 +08:00 via iPhone
准备在新项目里上 eclipsestore 了,不折腾数据库写业务都会快一些
|
7
xuanbg 2023-12-09 14:02:12 +08:00
mybatis ,写注解不写 xml
|
8
looo 2023-12-09 14:11:40 +08:00
可以使用 QueryDSL 啊
|
9
yooomu 2023-12-09 15:09:48 +08:00
mybatis 配合 mybatis plus 使用,简单单表查询就不写 xml 了,联表复杂查询就写 xml 了。resultmap 自己项目都是能不写就不写,让框架自动映射字段。公司项目还是尽量每个字段都写全,方便调试和协作,现在都有 IDE 插件生成这些东西,也算不上多麻烦
|
10
unregister 2023-12-09 15:13:11 +08:00 2
内心总觉的 mybaits 土 ,不是很面向国际,大家不要喷我哈。特别是 mybatis plus 标志挺丑的
|
11
fxjson OP @unregister 您工作用什么方案
|
12
lifespy 2023-12-09 16:46:19 +08:00
mybatis plus 用下来确实是体验最好的,兼顾了灵活性和方便
|
13
iv8d 2023-12-09 16:49:58 +08:00 via Android
mybatis plus 就是灵活,方便定位,入门容易
|
14
unregister 2023-12-09 17:00:37 +08:00
@fxjson 我用的比 mybatis 更古早,更麻烦。pl/sql
|
15
unregister 2023-12-09 17:05:59 +08:00
我的工作经验不是很丰富,但是就业务代码来说吧,很多人喜欢把业务放在 sql 中实现,有一个人特别夸张,有一定工作经验,完全放 sql ,我觉得写代码里不是更好吗?万一以后重构不是完蛋吗。我觉得查询就简简单单查询就可以了。
|
16
yechentide 2023-12-09 18:06:20 +08:00 via iPhone
喜欢手写 SQL ,我选择 DOMA2
|
18
lvdream 2023-12-09 20:09:50 +08:00
小公司,小项目,迭代少就 jpa ,省事
迭代多的就 mybatis |
19
zigaai 2023-12-09 21:50:41 +08:00
jooq 逃~
|
20
alex8 2023-12-09 22:56:06 +08:00 via iPhone
Jpa+JdbcClient
|
21
ZeawinL 2023-12-10 00:14:37 +08:00 via iPhone
MyBatis Plus 简单灵活易懂,对 多表连接+动态条件+分页 这类能写复杂业务友好。都是用 SQL 入门门槛低。
|
22
machilus 2023-12-10 07:12:56 +08:00 via iPhone
大公司在做的项目用的 mybatis ,resultmap 中 column 名字对应 model 的属性名,关联是在 resultmap 中加对应的 collection 标签。确实个人更喜欢这样子的灵活性,jpa 束手束脚
|
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 ?还是国产的小众框架? |
24
flmn 2023-12-10 14:46:59 +08:00
没人研究过 Spring Data JDBC 么?还用什么 mybatis
|