mybatis 新出了 https://github.com/mybatis/mybatis-dynamic-sql 简单查询用起来很爽。
1
onikage 2020-09-25 12:37:02 +08:00
jpa+1, 手上项目对数据库要求不高, 还有 h2 的, 毕竟省事.
|
2
jamesxu 2020-09-25 12:43:14 +08:00 via iPhone
简单查询 example 搞定
|
3
EscYezi 2020-09-25 12:47:46 +08:00 via iPhone
个人喜欢用 JPA,工作用 Mybatis
|
4
mango88 2020-09-25 12:52:03 +08:00
JPA + 1
|
5
KarlChen2015 2020-09-25 13:01:53 +08:00
业务越大 Mybatis 越好用
|
6
wangyanrui 2020-09-25 13:05:45 +08:00 via Android
jpa
|
7
wangyanrui 2020-09-25 13:07:54 +08:00 via Android 1
不对,应该说是 JPA 加 QueryDSL
实话实说,我个人讨厌 mybatis😂😂楼下大神们莫要喷我,个人看法 |
8
sagaxu 2020-09-25 13:19:07 +08:00 via Android 5
mybatis 恶臭,只剩中国人在用了
|
9
HENQIGUAI 2020-09-25 13:22:41 +08:00
打算试试 jooq
|
10
chendy 2020-09-25 13:25:39 +08:00
jpa,项目里没有太复杂的查询
|
11
zjsxwc 2020-09-25 13:28:14 +08:00
jpa 越 java 越好
|
12
BreadBig 2020-09-25 13:41:39 +08:00
JPA+1,维护过其他人的 mybatis 项目,业务也挺简单的,但逻辑大部分都放在了 sql 里,简单的功能一下复杂得一匹( sql 烂一定是我的错)
|
13
gowk 2020-09-25 13:59:12 +08:00 via Android 4
只用 jdbctemplate 的同学有没有?
|
14
Asuka0947 2020-09-25 13:59:56 +08:00
JPA
|
15
Yogpre 2020-09-25 14:00:35 +08:00
jpa+mybatis,简单查询 jpa,复杂查询统计 mybatis
|
16
wjpdev 2020-09-25 14:27:05 +08:00
JPA+1 , 代码量工作量最少
|
17
NeverNot 2020-09-25 14:31:12 +08:00 1
喜欢用 mybatis,集成 mybatis plus,舒服的一批,想写 sql 就写 sql,不想写就 warpper 查询,也很方便,但是 jpa 就不行了,遇到联表查询 就残废
|
18
aegon466 2020-09-25 14:42:19 +08:00
mybatis-plus 香的一批 单表和 jpa 一样 复杂直接写 sql 奴我直言 其他都是辣鸡
|
19
a719031256 2020-09-25 14:47:32 +08:00
工作用 mybatis,我个人来说更喜欢 jpa,mybatis 的 xml 简直让人发疯
|
20
tinyuu 2020-09-25 15:03:39 +08:00
pagehelper + Mapper 更好
|
21
wiix 2020-09-25 15:05:54 +08:00
jpa + jdbctemplate,mybatis 就是辣鸡
|
22
overthemoon 2020-09-25 15:06:26 +08:00 1
两个一起用
|
23
AJQA 2020-09-25 15:07:25 +08:00
一张列表页面 有很多条件需要查询 java 怎么办 不使用类似 elasticsearch
是不是一堆 if( key exists request) query.and(Model.key= value) |
24
NotFoundEgg 2020-09-25 15:08:22 +08:00 2
mybatis+1
单表操作直接 mybatis plus 多表查询自己写 xml |
25
xurunfei 2020-09-25 15:13:02 +08:00
mybatis + mybatis plus ,公司用了 jpa,然后遇到统计是真的难受,mybatis plus 使用上感觉和 jpa 差不多了,还是喜欢 mybatis
|
26
asmoker 2020-09-25 15:18:31 +08:00
我选择用 SQLAlchemy ...(走错片场了
|
28
asmoker 2020-09-25 15:19:05 +08:00
JPA 联表确实是别扭的一 P
|
29
ymz 2020-09-25 15:34:16 +08:00
简单 jpa,复杂 mybatis
|
30
bitmin 2020-09-25 15:41:39 +08:00
JPA 简单查询用方法名查, 联表或者复杂查询直接 @Query 手写 sql, 返回复杂对象的时候写个 interface
感觉 mybatis 麻烦多了 看了一下同事使用 mybatis pagehelper 的方式, 自己接受不了 喜欢手写 sql, 不管啥语言框架都一样的使用方式 |
31
laoyur 2020-09-25 15:51:49 +08:00
jooq:我这么没有排面的啊?
|
32
astkaasa 2020-09-25 15:56:00 +08:00
spring data jdbc
|
33
jimrok 2020-09-25 15:57:15 +08:00
JPA 没有用过,不过 mybatis 这东西确实头疼。
|
34
avalon0624 2020-09-25 16:00:26 +08:00
JPA
|
35
BBCCBB 2020-09-25 16:01:06 +08:00
mybatis + mybatis-plus 这一类东西, 不知道楼上说 mybatis 有问题是有啥问题?
jpa 多表查询难用.. |
36
FanError 2020-09-25 16:11:27 +08:00
JdbcTemplate 加模仿 ActiveRecord 写了个简单的 ORM 。
简单 SQL 用 ActiveRecord ORM 一波,复杂的用 JdbcTemplate 手写 SQL |
37
letitbesqzr 2020-09-25 16:16:59 +08:00
|
38
vayci 2020-09-25 16:17:11 +08:00
简单小项目 JPA,大点的 mybatis
|
39
Yechs 2020-09-25 16:20:13 +08:00
mybatis 一改表结构就真的恶心了
|
40
TheWidowMaker 2020-09-25 16:41:41 +08:00 via Android
?通常都是用 jpa 把表建了就删掉了…然后开始用 mybatis
|
41
zlllllei 2020-09-25 16:45:54 +08:00
@Yechs 用 mybatis plus,增加属性很方便呀,简单对象,只用改实体。至于其他需要手写 sql 的地方,你用其他方式也肯定要改 sql 语句的。
|
42
sagaxu 2020-09-25 16:51:23 +08:00 via Android
@BBCCBB XML 拼 SQL 体验太差了,相比写代码而言
没有少写代码,SQL 还是那个长度 没有提高性能,增加了解释 XML 的开销 代码和逻辑分离,不利于读旧代码 降低了灵活性,某些场景下还很麻烦 现在 mybatis 有点几年前 ssh 那味儿 |
43
Cbdy 2020-09-25 16:52:41 +08:00
为什么不直接写 SQL ?
|
44
yuxing1171 2020-09-25 16:58:54 +08:00
这没有喜欢不喜欢吧,看项目实际情况决定,没有哪个更好,只有更合适。
|
45
20150517 2020-09-25 17:22:24 +08:00
jooq
|
46
TelltoLies 2020-09-25 17:27:11 +08:00
手写 sql 不香么?
|
47
zhaoyuting 2020-09-25 17:39:24 +08:00
同以上 JdbcTemplate
|
48
orm 2020-09-25 17:55:11 +08:00 via Android
JPA
|
50
hankli 2020-09-25 18:41:03 +08:00
能用 JPA 为啥要用 mybatis
|
52
BBCCBB 2020-09-25 18:47:10 +08:00
@sagaxu 但写代码拼 sql 更麻烦呀. 像 mybatis 的 where, set 等标签能解决里面一个条件都不成立却多了一个 where, set 语句这种问题. 拼代码有点麻烦.
像 mybatis-plus 这种解决了大部分场景, 剩下的就是用 xml 或者注解写 sql 搞定. |
56
FanError 2020-09-25 21:40:15 +08:00
@lxk11153 https://javalite.io/activejdbc N 年前 ROR 里的概念
|
57
echo1937 2020-09-25 21:45:47 +08:00
喜欢 JPA > mybatis > mybatis-plus
|
58
rockyou12 2020-09-25 22:30:23 +08:00
JPA 加 QueryDSL
|
59
hhyyd 2020-09-25 22:40:30 +08:00
jpa+querydsl
|
61
tohuer00 2020-09-26 02:47:34 +08:00
我在想是不是现在的小朋友都不会写 sql 了 所以 jpa 这种东西才会这么热
|
62
jeffh 2020-09-26 07:37:36 +08:00
mybatis plus
|
63
tydl 2020-09-26 08:57:09 +08:00
PHP 是最好的语言~~~~~~~
|
65
yinzhili 2020-09-26 09:33:28 +08:00
一开始功能简单的时候 jpa 可以节省开发时间,但我觉得如果项目规模慢慢扩大,对于复杂的报表需求又不得不用 mybatis 。所以为什么不干脆一开始就选用 mybatis 呢?
|
66
xuanbg 2020-09-26 09:38:30 +08:00
@sagaxu
@a719031256 现在都是这种注解写法吧…… @Results({@Result(property = "detail", column = "detail", javaType = Object.class, typeHandler = JsonTypeHandler.class)}) @Select("<script>select a.id, e.`name` as entity, a.type, a.`code`, a.`name`, a.balance, a.detail, a.is_invalid " + "from iaf_account a join iab_entity e on e.id = a.entity_id where e.tenant_id = #{tenantId} " + "<if test = 'key != null'>and (type = #{type} or `code` = #{key} or name like concat('%',#{key},'%')) </if>" + "order by created_time desc</script>") List<AccountDto> getAccounts(QueryDto dto); 压根不需要 xml |
68
KV2 2020-09-26 09:45:15 +08:00
jpa+jdbcTemplate
|
69
janus77 2020-09-26 09:46:32 +08:00 via iPhone
我写过一个项目挺复杂,用的 jdbc
|
70
securityCoding 2020-09-26 09:56:22 +08:00
jpa
|
71
18258226728 2020-09-26 10:22:42 +08:00
mybatis-plus,啥也不想,小项目也用这个,总是会出现 sql jpa 搞不了
|
72
MarioLuo 2020-09-26 12:11:53 +08:00 via Android
项目用的 spring-data-mongo, 其中 CRUD 方法、分页排序、方法名的查询、注解条件甚是方便、SpringData 系列互通,人生苦短何不一试。
|
73
zmxnv123 2020-09-26 12:14:25 +08:00
我选择 SQlAchemey...
|
74
MarioLuo 2020-09-26 12:23:30 +08:00 via Android
@rockyou12 query dsl 代码生成每次都需要手动触发 compile, 这个怎么弄?而且为了少数查询需求生成这么多代码感觉有点重
|
76
wangyanrui 2020-09-26 16:20:08 +08:00 via Android
简而言之,面相对象和面相过程的 PK
简单业务逻辑,写到 service 中,选哪个无所谓 复杂业务逻辑,想要 ddd,选 jpa🙄 |
77
chenhui7373 2020-09-26 17:43:13 +08:00
@18258226728 印象可以这样?@Query(native=true,value="SQL_PLACEHOLDER")
|
78
chenhui7373 2020-09-26 17:44:05 +08:00
r2dbc 貌似 jpa 友好
|
79
yalin 2020-09-26 17:44:40 +08:00
jpa
|
80
yalin 2020-09-26 17:55:21 +08:00
微服务的 cqrs 架构
|
81
KevinBlandy 2020-09-26 19:43:30 +08:00
Jpa + QueryDsl (一年多没用过 mybatis 了)
|
82
ourslay 2020-09-26 21:29:50 +08:00 via iPhone
spring data jdbc + mybatis 这个应该是最佳组合了吧
|
83
ajaxpost 2020-09-26 22:07:13 +08:00 via iPhone
QueryDSL 会受到 Entity 里的 OneToOne,OneToMany 封注解得影响,有时候 left join 变 cross join,大家咋解决的?不写导航属性么
|
84
fpure 2020-09-27 00:29:07 +08:00
我宁可用 spring jdbctemplate 也不想用 jpa,项目中用过要多难受有多难受。jpa 擅长的自然好写,jpa 不擅长的实现起来就想撞墙,所以对我而言 jpa 并不是一个可以放心全部托付的框架。现在许多 mybatis 二次开发的框架单表也不用写 sql 了,同时具有 jpa 的简单和 mybatis 的灵活,不香吗?
|
85
fpure 2020-09-27 00:36:56 +08:00
话说楼主提到的这个 mybatis-dynamic-sql 有点意思,有 mybatis-plus 等库的感觉了,而且是官方出的,关注了
|
86
fpure 2020-09-27 00:39:45 +08:00
不知道为什么我居然没有关注过官方的这个库
|
87
gitdoit 2020-09-27 08:55:16 +08:00
都用过,还是觉得 mybatis plus 好用,单表操作用 AR 模式,多表直接写 xml
|
88
zppass 2020-09-27 10:42:51 +08:00
咱自有国情,mybatis 可以自己定制 SQL 业务逻辑,只不过太多逻辑冗余进去,特别复杂特别久远 SQL 代码都不敢碰,改一点就缺点东西多点东西出来,甚至部分条件失效。
JPA 没怎么用过,听过名字,在想会不会是那种 hibernate 的继承者的啥的,也不好说啥。 |
89
magen 2020-09-27 11:25:57 +08:00
我选择在 SpringBoot 里引入 JFinal 的 Record 模块,Db.use("A 库").find("select * from XX where DATA_DT=?",'20200926');
做报表时,这个写法太舒服了 |
90
pkupyx 2020-09-27 17:46:38 +08:00
多数 hibernate,少数 mybatis-plus
喜欢继承 mp 的 interface,简单的用 baseMapper 的查询,复杂的注解写 SQL 。整体比 h 省心且直观。 不喜欢 mp 的 @Select 语句无法变色高亮检查,code review 会坑。 另外 mp generate 的 entity 结构竟然不是标准 JPA 规范的,很烦。 |
91
751762476 2020-09-27 18:19:51 +08:00
ktorm 了解下
|
92
sayhi 2020-09-27 18:39:16 +08:00 via Android
jpa querydsl
|