MyBatis入门 优缺点(优点和缺点)

 

一、MyBatis 框架的优点
  1. 与JDBC相比,减少了50%以上的代码量
  2. MyBatis是最简单的持久化框架,小巧并且简单易学
  3. MyBatis灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL可以写在XML里(还可以以注解方式写到Java代码中),从程序代码中彻底分离,降低耦合度,便于统一管理和优化,可重用。
  4. 提供XML标签,支持编写动态SQL语句(XML中使用 if, else 等)。
  5. 提供映射标签,支持对象与数据库的ORM字段关系映射(可以在XML中配置映射关系,也可以使用注解配置映射关系)。
二、MyBatis 框架的缺点
  1. SQL语句的编写工作量较大,尤其是字段多、关联表多时,更是如此,对开发人员编写SQL语句的功底有一定要求。
  2. SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

  3. 与JDBC相比,增加了调试代码和查错的难度(使用了ORM需要额外花费时间学习ORM的框架,调试错误比JDBC难很多。封装程度越高,查错越难。

  4. JDBC可以单步调试,MyBatis不能单步调试。

MyBatis 的优缺点
1.SQL语句与代码分离,存放于XML配置文件中:
优点:便于维护管理,不用在java代码中找这些语句;
缺点:JDBC方式可以用断点的方式调试,但是Mybatis不能用断点的方式调试,需要通过log4j日志输出日志信息帮助调试,然后在配置文件中修改。

2.用逻辑标签控制动态SQL的拼接:
优点:用标签代替编写逻辑代码;
缺点:拼接复杂SQL语句时,没有代码灵活,拼写比较复杂。不要使用变通的手段来应对这种复杂的语句。

3.查询的结果集与java对象自动映射:
优点:保证名称相同,配置好映射关系即可自动映射或者,不配置映射关系,通过配置列名=字段名也可完成自动映射。
缺点:对开发人员所写的SQL依赖很强。

4.编写原生SQL:
优点:接近JDBC,比较灵活。
缺点:对SQL语句依赖程度很高;并且属于半自动,数据库移植比较麻烦,比如mysql数据库变成Oracle数据库,部分的sql语句需要调整。

 

REF

https://www.cnblogs.com/liufei1983/p/8576479.html

https://www.cnblogs.com/weibanggang/p/9759018.html

 

posted @   emanlee  阅读(4614)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2016-08-10 How can I view currently running MySQL queries?( 查看正在运行的MySQL语句/脚本命令)
2015-08-10 粒子群算法 Particle Swarm Optimization, PSO(转贴收藏)
2007-08-10 SQL Sever 问题集锦
点击右上角即可分享
微信分享提示