style="text-indent:2em;">大家好,今天来为大家分享mybatis流式查询优缺点的一些知识点,和不建议使用mybatis缓存的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
本文目录
什么是mybatis
Mybatis是一款基于Java语言的持久层框架,可与关系型数据库(如MySQL、Oracle等)进行交互。
Mybatis最初是iBATIS项目的一个分支,于2010年正式更名为Mybatis。Mybatis采用了基于XML的配置方式,将Java对象映射到关系型数据库表中,通过封装JDBC的操作,帮助开发者快速进行数据库的操作。Mybatis提供了非常强大的SQL映射配置,可以非常灵活的控制SQL的执行流程,并提供了很多优秀的特性,比如二级缓存、插件机制等等。
Mybatis核心思想是SQL和Java代码分离,通过XML或注解的方式将SQL语句进行描述,与Java代码结合使用,实现动态SQL语句的生成和执行。相比于Hibernate等ORM框架,Mybatis更加轻量级,灵活性更高,适用于大型企业系统的开发。Mybatis是开源框架,具有很广泛的应用和开发者社区。
mybatis是干嘛的
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOrdinaryJavaObject,普通的Java对象)映射成数据库中的记录。
mybatis流式查询优缺点
优点
1、简单易学
mybatis本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个SQL映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
2、灵活
mybatis不会对应用程序或者数据库的现有设计强加任何影响。SQL写在XML里,便于统一管理和优化。通过SQL基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
3、解除SQL与程序代码的耦合
通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。SQL和代码的分离,提高了可维护性。
4、提供映射标签,支持对象与数据库的ORM字段关系映射
5、提供对象关系映射标签,支持对象关系组建维护
6、提供XML标签,支持编写动态SQL
缺点
1、编写SQL语句时工作量很大,尤其是字段多,关联表多时,更是如此
2、SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库
3、框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且也不太容易适应快速数据库修改。
4、二级缓存机制不佳
hibernate和mybatis的区别
1.设计思想不同
Hibernate采用的是全自动ORM,对数据表进行操作时,不需要手动写SQL语句,Hibernate会自动将PO(持久化对象)映射为数据表,并自动生成SQL语句。MyBatis则采用了半自动ORM,需要使用SQL语句来操作数据表,但通过XML或注解方式可以让MyBatis进行ORM映射。
2.对象关系映射方式不同
Hibernate采用的是基于对象的关系映射,通过面向对象的思想来实现数据表和PO之间的映射关系。而MyBatis则采用的是基于数据表的关系映射,需要手动编写SQL语句,将数据表中的数据映射为PO对象。
3.性能方面不同
Hibernate在性能上有一定的优势,因为它可以使用一级缓存(Session缓存)和二级缓存(SessionFactory缓存),避免频繁地访问数据库。而MyBatis则需要手动管理缓存,但由于采用了手动编写SQL语句的方式,可以更加精细地控制SQL语句的执行效率。
关于本次mybatis流式查询优缺点和不建议使用mybatis缓存的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。
声明:本文内容来自互联网不代表本站观点,转载请注明出处:https://bk.77788889.com/1/83878.html