这篇文章主要介绍“MyBatis的优缺点是什么”,在日常操作中,相信很多人在MyBatis的优缺点是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MyBatis的优缺点是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
它是一个优秀的基于 Java 的持久层框架,它支持定制化 SQL、存储过程以及高级映射等。
MyBatis 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAO), 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java POJOs(Java对象)映射成数据库中的记录。
MyBatis安装简单, 只需将 mybatis-x.x.x.jar 文件置于 classpath 中即可。
如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version> </dependency>
Mybatis的功能架构主要分为三层:
API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
优点:
1. 简单易学:小且简单。无第三方依赖,安装简单,只要两个jar文件+配置几个sql映射文件即可,好学,好用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
2. 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能。
3. 解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
4. 提供映射标签,支持对象与数据库的orm字段关系映射。
5. 提供对象关系映射标签,支持对象关系组建维护。
6. 提供xml标签,支持编写动态sql。
缺点:
1. 编写SQL语句工作量很大,对于字段多、关联表多时,尤其明显。
2. SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。
3. 框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。
4. 二级缓存机制不佳
到此,关于“MyBatis的优缺点是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。