基于 mybatis-plus 的联表查询工具,可以实现大部分的写 SQL 需求

2021-09-24 13:17:21 +08:00
 MrGoooo

欢迎大家来提意见: https://gitee.com/mr_zhaojin/mybatis-plus-join

2979 次点击
所在节点    Java
25 条回复
fkdog
2021-09-24 15:40:24 +08:00
就真的套娃了,
jdbc 套 mybatis,
mybatis 套 mybatis-plus,
mybatis-plus 又套 mybatis-plus-join...

在框架上二次封装还不如自己重新弄一个.
fkdog
2021-09-24 15:45:19 +08:00
另外补充一下,
之所以市面上的框架没有复杂查询 api 是因为大家发现试图用 java 来实现 sql 的 dsl 效果往往不尽人意, 要么就是 api 过于臃肿要么就是缺乏灵活性,弄到最后还不如直接传一条 sql 进去简单明了...
huifer
2021-09-24 15:51:53 +08:00
sql 很难?要这么用不如 hibernate 吧
sonyxperia
2021-09-24 16:04:26 +08:00
没必要,真的没必要
MrGoooo
2021-09-24 16:14:11 +08:00
@fkdog 我的本意只是减少书写 sql 时容易导致字段错误,以及避免维护 xml 文件
@huifer 不难,但是烦
@sonyxperia 各去所需吧
MrGoooo
2021-09-24 16:17:19 +08:00
@fkdog xml 形式的 sql 不比代码写出来的简单明了
fkdog
2021-09-24 16:46:24 +08:00
@MrGoooo
的确 xml 对于动态条件判断的 sql 来说也不是简单明了.
但是不是所有框架的设计都以简单明了为目的.
levon
2021-09-24 16:49:21 +08:00
非常不错
qwer666df
2021-09-24 16:50:51 +08:00
我选择手写 sql
lidashuang
2021-09-24 16:51:21 +08:00
@MrGoooo xml 垃圾,都什么年代了
MrGoooo
2021-09-24 16:52:15 +08:00
@lidashuang 大哥用的啥?
wolfie
2021-09-24 16:58:33 +08:00
@lidashuang #10
那你倒是说一个能替代 xml 的?
MrGoooo
2021-09-24 17:00:20 +08:00
@qwer666df 确实,一般公司都是最多选择到 mybatis,选择 mybatis-plus 的都很少了,更别说我这小小的 demo 级项目了,不过在小公司或者自己偷懒用用也还行,最好还是写 sql.
fkdog
2021-09-24 17:06:15 +08:00
@wolfie mybatis 的 XML 本质是 XMLLanguageDriver. mybatis 和他的 xml 文件映射在接口上做了解耦, 通过 mybatis LanguageDriver 你可以自行扩展, 配合 springEL 表达式完全可以简化掉 mybatis 的 xml <if test="xxx!=null">这样的判断.

至于为什么没什么人去扩展这个,存粹是因为即使扩展了也没什么更明显的优势, 使用 springEL 或者自定义 dsl 结构省不了多少代码, 查询条件复杂了反而还没有<if test="xxx!=null">看着舒服.
MrGoooo
2021-09-24 17:30:43 +08:00
@fkdog 学习了,刚看了一下 LanguageDriver,感觉好像意义不大,有 xml 就够了
echo1937
2021-09-24 17:41:30 +08:00
@MrGoooo #6 Java 社区去 XML 已经基本完成了,也就只有类似 mybatis 还是重依赖 XML
Leviathann
2021-09-24 17:47:25 +08:00
别的无所谓,xml 必须死。
K1W1
2021-09-24 18:08:39 +08:00
不错,楼主加油
Kaiv2
2021-09-24 18:09:55 +08:00
select count(1);

类似这种查询支持吗?
MrGoooo
2021-09-24 18:10:47 +08:00
@echo1937 #16 啥社区

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

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

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

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

© 2021 V2EX