一、事件起因
关于 Mybatis 和 JPA 孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。
我也看过知乎上一些问答,各有各的理由,感觉都挺有道理。如果让我不带感情色彩地去分辨,其实我也是懵的,因为真的是公说公有理婆说婆有理。
而在国内,不得不承认,用 Mybatis 的公司确实是要比用 JPA 的多,但是在 2015 年以前,用 Hibernate 的公司确实也是很多的。
为什么在国内,会有这样的现象发生?
二、目前生态
在最近(2018)的 JVM 生态报告中
可以看出,Mybatis 的占比只有可怜的 6%,大家看到这个统计结果应该会很吃惊,你会觉得,不对啊,我公司以及我很多朋友都在用 Mybatis 啊,好像没听说过有人用 JPA 的,这个统计结果是错的吧?
再从下面这个对比来看,MyBatis 的关注主要集中在中日韩。
首先,必须指出,对于青年程序员,其实都会质疑这个图的可信度。
中老年程序员都在感叹国外其实更注重开发效率和面向对象的分析和设计。但我可以非常负责任地告诉你,这图是真的。那么,