直接上比较结果
持久层框架 | 字段类型 | 功能覆盖 | 执行效率(以三层 for 循环为例) | 数据库容错 | 学习成本 | 新需求开发成本(该字段给右边字段作比较的) | 变更需求开发成本 |
---|---|---|---|---|---|---|---|
mybatis | 很明确 | 90% | 局域网:2-6 秒;互联玩:3-8 秒。 | 无 | 30 小时 | 8 人时 | 12-24 人时 |
mybatisplus | 很明确 | 95% | 局域网:2-6 秒;互联玩:3-7 秒。 | 一般 | 50 小时 | 6 人时 | 6-18 人时 |
JPA | 略模糊 | 100% | 局域网:1-3 秒;互联玩:3-5 秒。 | 完美 | 50 小时 | 10 人时 | 4-8 人时 |
以下是大致原因分析
- 具体实验过程与原因我就不写了,搞了半个月,好累。
- 说点技术以外的东西,因为纯从技术角度出发得不出上面的表格,这两个框架我自己有用过,也都带人用过,才得出如此结论,血泪就不讲了。
- 一个完整的项目需要经过开发 - 迭代 - 迭代 - 再迭代,最终才能稳定上线,期间经过会经过多次需求变更,虽然从技术角度这两个框架都能胜任,但是不能保证开发者有很高的自我修养,既能写好注释,又能贯穿整个业务,还能设计好代码。
- 新项目还是用 JPA 吧,有能力与自我修养的同学随意~~~