能说一下喜欢的原因是最好的..谢谢各位大佬
1
jorneyr 2018-02-08 20:22:40 +08:00 1
MyBatis: SQL 就应该有 SQL 的样子,DBA 能够优化 SQL,业务里非常多的多表联合查询
|
2
hujianxin 2018-02-08 21:00:54 +08:00 1
MyBatis:而且喜欢使用 xml 而不是注解的方式,我喜欢小而美的东西。
1. mybatis 原理简单而清晰,使用起来不会存在盲点 2. mybatis 使用简单,通过 xml+sql 语句的方式,既没有向原始 sql 那样繁琐,也不会过度封装,做到了我心目中比较好的中和 |
3
yuankui 2018-02-08 21:01:05 +08:00 1
spring-data-jpa
业务代码为何要关心那么多的 SQL?增删改查大多大同小异,不需要那么多重复的 sql 如果需要优化, 也有优化 sql 的口子. |
4
ke1e 2018-02-08 21:35:00 +08:00 via Android
jpa
|
5
crazyq 2018-02-08 21:38:44 +08:00
Spring-data-jpa.
|
6
kingcos 2018-02-08 21:39:32 +08:00 via iPhone
以前用 MyBatis,后来就 JPA
|
8
jimrok 2018-02-08 23:00:23 +08:00
用自己撸的
|
9
woscaizi 2018-02-08 23:21:22 +08:00 via iPhone
现在用 springboot 比较多,所以在用 spring-data-jpa,它也可以很好的支持原生 sql。
|
10
wdlth 2018-02-08 23:35:04 +08:00 1
DBA 自己写视图,普通的 CRUD 就是 JPA+querydsl
|
11
autulin 2018-02-08 23:45:31 +08:00 via iPhone 1
现在用 jpa 爽的飞起(主要是在插入的时候),但是在查询的时候也怀念 MyBatis 的手动 XML 写 mapping,主要这样可以一次只查询部分字段,可以做到比较精简。一直想在 jpa 中找到类似的但更加优雅的方法,但是始终没有找到,目前暂时的方法就是使用构造函数取部分字段,这样最后其它字段都是 null,加上 JsonIgnore 注解,最后可以起到屏蔽的效果。
不知各位有没有跟我一样的需求 |
12
letitbesqzr 2018-02-09 09:01:04 +08:00 3
在企业级应用动则上千张表的情况下,不用 hibernate 这样的框架,关联关系都得把你写哭。
hibernate 这种框架,那一查询带出一堆关联,在互联网项目中用起来那速度简直是灾难。。 所以没有什么喜不喜欢的,看什么适合某个项目而已。 |
13
flyindance 2018-02-09 09:17:36 +08:00
mysql 创建视图性能消耗严重吗?
|
14
letitbesqzr 2018-02-09 09:23:53 +08:00
@autulin #11 期待 jpa 的下一个版本规范,现在对于级联查询的 EntityGraph 太难用了。。hibernate 对 jpa 的实现 又不能支持 hibernate 的 fetch 机制
|
15
nita22 2018-02-09 10:49:14 +08:00 1
还是比较喜欢自己写 SQL,所以还是比较偏好 MyBatis。反正简单的可以用 Generator 直接生成,复杂的就自己写 SQL 语句
|
16
mrsatangel 2018-02-09 12:01:43 +08:00
我很好奇,大家是怎么解决 DDL 变更之后 MyBatis 的 xml 的更新问题的?比如数据库里面增加了一个字段,那么 xml 里面也要相应增加一个字段,resultMap 也要增加一个字段。问题是 xml 文件里面可能有多个 resultMap,不同的语句的 resultMap 也不一样,一不小心就会对不上。简单一点的 xml 可以先删掉再用 MyBatisGenerator 重新生成一遍,如果 xml 里面有自己写的复杂的 resultMap 呢?
|
17
xuqd 2018-02-11 10:19:10 +08:00
@mrsatangel mybatis + mybatis generator
|
18
xuqd 2018-02-11 10:20:51 +08:00
@mrsatangel 不好意思没看清。。。。
|
19
carakan 2018-02-22 14:51:07 +08:00
@autulin 只查询部分字段可以引入 QueryDSL 呀,我是强迫证,看到每次查询那些多余的字段,我就开始查资料搞。。。一开始发现 Specification。。。但是还是不够灵活。。后来发现 QueryDsl。。。这才完美了。。。每次查询自己想要的字段。。
PS:有人用过 JOOQ 么 听说 JOOQ 不像 Hibernate 过度包装,也不像 mybatis 一样不符合 OO 思想。。。 |
20
PoetAndPoem 2019-02-14 18:51:59 +08:00 via Android
@yuankui 优化 sql 具体指的是?
|
21
yuankui 2019-02-14 23:00:24 +08:00
@PoetAndPoem 搜一下 N+1 问题
|
22
tctc4869 2020-01-02 11:13:14 +08:00
JOOQ,只能使用 Postgresql 和 mysql 等免费开源的数据库,如果要使用 sql server,那就得付费
|
23
ecoolper 2020-07-09 08:59:38 +08:00
试用下 beetlsql
|