admin 管理员组文章数量: 1086019
2024年5月15日发(作者:女性类风湿怎么治疗效果好)
mybatis的优缺点
优点:
1. 易于上手和掌握。
2. sql写在xml里,便于统一管理和优化。
3. 解除sql与程序代码的耦合。
4. 提供映射标签,支持对象与数据库的orm字段关系映射
5. 提供对象关系映射标签,支持对象关系组建维护
6. 提供xml标签,支持编写动态sql。
缺点:
1. sql工作量很大,尤其是字段多、关联表多时,更是如此。
2. sql依赖于数据库,导致数据库移植性差。
3. 由于xml里标签id必须唯一,导致DAO中方法不支持方法重载。
4. 字段映射标签和对象关系映射标签仅仅是对映射关系的描述,具体实现仍然依赖于
北大青鸟中关村软件园
283
sql。(比如配置了一对多Collection标签,如果sql里没有join子表或查询子表的话,
查询后返回的对象是不具备对象关系的,即Collection的对象为null)
5. DAO层过于简单,对象组装的工作量较大。
6. 不支持级联更新、级联删除。
7. 编写动态sql时,不方便调试,尤其逻辑复杂时。
8 提供的写动态sql的xml标签功能简单(连struts都比不上),编写动态sql仍然
受限,且可读性低。
9. 使用不当,容易导致N+1的sql性能问题。
10. 使用不当,关联查询时容易产生分页bug。
11. 若不查询主键字段,容易造成查询出的对象有“覆盖”现象。
12. 参数的数据类型支持不完善。(如参数为Date类型时,容易报没有get、set方
法,需在参数上加@param)
13. 多参数时,使用不方便,功能不够强大。(目前支持的方法有map、对象、注解
@param以及默认采用012索引位的方式)
14. 缓存使用不当,容易产生脏数据。
北大青鸟中关村软件园
283
总结:
mybatis的优点其实也是mybatis的缺点,正因为mybatis使用简单,数据的可靠性、
完整性的瓶颈便更多依赖于程序员对sql的使用水平上了。sql写在xml里,虽然方便了
修改、优化和统一浏览,但可读性很低,调试也非常困难,也非常受限,无法像jdbc那样
在代码里根据逻辑实现复杂动态sql拼接。mybatis简单看就是提供了字段映射和对象关
系映射的jdbc,省去了数据赋值到对象的步骤而已,除此以外并无太多作为,不要把它想
象成hibernate那样强大,简单小巧易用上手,方便浏览修改sql就是它最大的优点了。
mybatis适用于小型且程序员能力较低的项目和人群使用,对于中大型项目来说我并
不推荐使用,如果觉得hibernate效率低的话(实际上也是使用不当所致,hibernate是
实际上是不适用于拥有高负载的
----资料来源 北大青鸟中关村软件学院官网
北大青鸟中关村校区官网
北大青鸟中关村软件园官网
北大青鸟中关村学士后本部官网
北大青鸟中关村软件园
283
版权声明:本文标题:mybatis的优缺点 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1715773831a688889.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论