java 持久层框架排行_2020年,java持久层怎么选择?

先说结论:2020年了,推荐mybatis-plus

面向对象or程序逻辑和sql解耦?

在之前hibernate和mybatis比较时,两者最主要的区别是hibernate用面相对象的方式解决数据库操作问题,sql相对来说是不透明的,甚至你换数据库都无所谓。mybatis则相反,java和sql完全分离,需要自己实现相关sql。

hibernate写sql麻烦,mybatis写很多重复的sql?

后来大家发现hibernate要做复杂的sql,比如涉及多表的报表之类的东西,因为不够直观,优化起来很复杂。mybatis干啥都要写一堆接近重复的sql,比如单表的CRUD也要写一套mapper+xml里的sql,太麻烦了,虽然有了mybatis-gen*这类mybatis的生成器,但是还是很麻烦,开发时要生成一堆模板代码。

有没有既能让我CRUD快速开发,又能让我解耦,还能让我想优化的时候直接撸sql的东西?

在我看来,mybatis-plus的出现很好的解决的现在orm框架的问题。它是mybatis的增强工具,要配合着mybatis使用,并没有脱离mybatis的初衷。简单的引入后,依托于BaseMapper不写一句sql就可以满足单表的CRUD功能。在你想要撸sql的时候,只需要写自己想要另外写的sql就行。

利益相关

用了这个框架,节约了很多时间用来刷知乎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值