Java 都这么多年过去了,生产级别数据库操作库除了 JPA 和 Mybatis 还有什么? JPA 和 mybatis-plus 比优势在什么地方?

2021-07-31 09:33:58 +08:00
 pigbug
8980 次点击
所在节点    Java
70 条回复
ikas
2021-08-01 13:40:01 +08:00
话说没人用过 doma 么...支持模板与 dsl
val list = entityql
.from(e)
.innerJoin(d) { eq(e.departmentId, d.departmentId) }
.where { eq(d.departmentName, "SALES") }
.associate(e, d) { employee, department ->
employee.department = department
department.employeeList += employee
}
.fetch()


@Dao
public interface EmployeeDao {

@Sql(
"""
select * from EMPLOYEE where
/*%if salary != null*/
SALARY >= /*salary*/9999
/*%end*/
""")
@Select
List<Employee> selectBySalary(BigDecimal salary);
}
xuanbg
2021-08-01 13:57:44 +08:00
用 mybatis,但绝不用 plus 。简单的 sql 数据库管理工具都能自动生成,复制出来就行。复杂的 sql 除了手写没别的办法。。。
charlie21
2021-08-01 15:48:24 +08:00
靠写面条代码样子的烂代码并入库( merge into main branch in the repo ),
堆屎山堆得谁也看不懂了 不好接手,
让自己的不可替代性变得越来越强,
说的是谁呢 @abcbuzhiming
你所在的公司当然是对你的依赖性愈发变强的 这没问题 你的价值是被认可的,
但在我司 如果谁敢在 controller 里作数据库操作,那么第二天他就会被从主程队伍里过滤掉,发配 “边疆” 去写一些边边角角的代码;如果狡辩则直接开除 so 恭喜你没在我司
james122333
2021-08-01 17:41:15 +08:00
个人还是爱 php pdo 那种方式 好写 如果案子大了再封装也方便 兼顾灵活与直觉 参数判断写 xml 判断就神经了 也不可能全代码化 debug 又方便 step 调适很容易找到问题点 至于 service 还是会分的 因为 http 特性 但也就两层而已 剩下都是辅助工具让代码容易维护 orm 特烦没错
tctc4869
2021-08-02 08:52:01 +08:00
jfinal 的 ar+enjoy
chocotan
2021-08-02 10:27:57 +08:00
公司项目用 mybatis,自己项目用 spring data jpa 和 querydsl
ccppgo
2021-08-02 14:49:18 +08:00
@james122333 这种就是 jdbcTemplate 吧
abcbuzhiming
2021-08-03 10:00:43 +08:00
@charlie21 我已经非常明确的描述了我的观点,我并不抵触严谨代码结构。我只是强调应该根据不同的的情况选择不同的方式,我非常开心能够不用和你这种永远停留在自己的舒适区的人一起共事,之前也遇到过这样,号称“不按他的规范来就开除”,然后我就看着他有一天就撞到了他的规范无法处理,然后必须妥协的时候,最后此人的选择就是一走了之。。。

在 Controller 里写数据库处理逻辑非常常见,很早就有技术文章描述过这种“事务脚本编程”方式的优劣,如果你看过别的语言的 mvc 框架,也能看到这样的实现,只是你自己不可接受而已,随便你怎么想,我来这里不是和人吵架的,而是和人交流,我不排斥任何处理方式,只要他能更好的解决问题就行。
unbright
2021-08-04 10:57:52 +08:00
jpa 配合 ddd 强无敌
CyberShadiao
2021-08-05 11:35:04 +08:00
@Leviathann 我现在就是你说的这种情况,前端传 sql 条件部分的语句 后端再拼接。代码里面到处都是 sql

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

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

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

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

© 2021 V2EX