@
gowk 里面的观点,大部分是主观意识加挑刺的,同样的逻辑,放在其他框架一样能挑出一大堆问题,你看点赞数和评论就知道了。我随便挑几点:
6.调试问题/代码重构:mybatis 可以打印执行 sql 日志,直接复制日志即可打开 sql 命令行调试,至于重构,难道其他 dao 框架重构能轻松,这个只能说看业务。
7.手写的 SQL 未必比 hibernate 生成的 SQL 效率高~:未必是什么意思?起码我手写能看出来写的规不规范吧,效率问题更多的是数据库设计问题,执行上的效率,这个只能看每个人对于数据库的理解了。
8.缓存问题~:老实说,我做 java 开发几年了,没遇到过几个需要调缓存的,可能我公司小,项目垃圾吧。
9.分表分库/审计/全文索引问题~:这个是数据库设计问题,拿一个出了 N 年的框架来 PK 一个新生儿,适合?解决方案是要经过迭代经验的。
10.糟糕的实现:不知道他说什么?我的确看到过有说第一代 mybatis 的代码质量比较差,但是看不出什么糟糕的实现。
11.关联查询:关联查询的场景本来就不多,而且基本使用任何框架,都是需要特殊处理的,如果复制场景不需要特殊处理,程序员的价值在哪里?
12。满世界找文件:这个只能说代码分层设计问题,分好职责包和类,有那么麻烦?也可以说是 IDE 问题,用 idea 可以直接插件关联接口类和 xml,直接跳转。真没试过满世界找文件的情况,只能说这个作者根本就是找茬。
1-5 我就懒得说了,打字好累。
现在很多网上的文章,都是站台文章,参考 angular 和 vue 两个团队的争吵。之前还有人说 lombok 不建议用的,现在不都是真香。使不使用一个框架,不是看他的代码有多么优美,不是看他效率有多么高,而是看上手难度和使用成本。很明显大部分公司,在用 mybatis 上的使用成本是很低的。只需要设计好数据库表,实体类和 xml 直接生成,如果使用 tk 或者 mybatisplus 的话,直接 service 都给你生成好了,填充业务逻辑就可以了。这难道不是一个好的优点?至于说追求超级性能的,那还用什么传统数据库,直接大数据那套不是更强。