MyBatis介绍

658a067b505e4dd286957368d4f12234.jpg

 

MyBatis是一个优秀的持久层框架(就是将某些数据持久化到硬盘或其他存储器中的框架),它把jdbc对数据库的操作进行了封装,使用户只需关注sql本身,不需要去执行jdbc的那一套复杂的操作。
MyBatis通过配置xml文件或注解的方式,将statement或preparedstatement中的sql语句与java对象中的数据相互映射,最终生成可执行的sql语句,由MyBatis执行sql语句,并将返回结果封装成java对象。
简而言之,MyBatis封装了JDBC对数据库的复杂操作,并将返回结果封装成所需的java对象。
MyBatis流程图:
1990064-20210830172719177-2121237687.png
1.MyBatis-config.xml文件是MyBatis的核心配置文件,这个文件中配置了运行环境,事务管理方式,是否使用连接池等,MyBatis可以通过该配置文件创建SqlSessionFactory
2.SqlSessionFactory用来创建SqlSession
3.SqlSession是用来发送sql语句到数据库执行,并返回结果,类似于jdbc中的connection
4.executor是MyBatis的一个底层对象,用于执行sql语句
5.MapperStatement也是MyBatis的一个底层对象,用于将配置文件中的sql语句映射为可执行的sql语句。


JDBC与MyBatis的对比

JDBC:
1.使用jdbc有大量重复且复杂的代码
2.jdbc中的sql语句是写死在代码中,一旦修改sql还需重新编译代码
3.jdbc本身是不支持使用连接池的,会不断的创建连接,释放资源,影响效率
4.jdbc返回的ResultSet对象,需要我们手动处理,特别麻烦
MyBatis:
1.MyBatis对JDBC进行了封装,可以简化了代码
2.MyBatis的sql语句都是写在配置文件中的,如需修改sql,修改配置文件即可
3.MyBatis本身是支持连接池的,且MyBatis还可以兼容其他连接池
4.MyBatis会将返回的结果,封装为相应的java对象,极大的减少了我们的麻烦。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513590.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OWASP Top 10 网络安全10大漏洞——A01:2021-访问控制中断

10大Web应用程序安全风险 2021年top10中有三个新类别、四个类别的命名和范围变化,以及一些合并。 A01:2021-访问控制中断 从第五位上升到top1,94%的应用程序都经过了某种形式的访问控制破坏测试,平均发生率为 3.81%且在贡献的…

每日学习总结20240301

20240301 1. strchr VS strrchr strchr和strrchr是C语言标准库中的字符串处理函数,用于在字符串中查找特定字符的位置。 1.1 strchr函数 strchr函数用于在字符串中查找第一次出现指定字符的位置,并返回该位置的指针。函数原型如下: char…

如何创建一个VUE3项目并使用Element UI插件

1.确保已经安装了Node: win R 打开控制面板,输入“node -v”回车。出现版本号信息,则安装成功,否则请移步安装。 Node.js安装及环境配置(简单易懂!)_building: c:\program files\nodejs\node…

Vue2高级篇

Vue高级 Vue生命周期 生命周期又称为生命周期回调函数、生命周期函数、生命周期钩子, 是Vue在运行过程中的关键时刻帮我们调用的一些指函数, 生命周期函数名字不可修改, 其中的this指向的是vm或组件实例对象. 常用的生命周期钩子: mounted: 发送ajax请求、启动定时器、绑定…

JavaScript观察者模式:实现对象间的事件通信!

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

UOS 20 安装redis 7.0.11 安装redis 7.0.11时 make命令 报错 /bin/sh: cc: command not found

UOS 20 安装redis 7.0.11 1、下载redis 7.0.112、安装redis 7.0.113、启动停止redis 7.0.114、安装过程问题记录 UOS 20 安装redis 7.0.11 安装redis 7.0.11时 make命令 报错 /bin/sh: cc: command not found、zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such fil…

【Redis】Redis 缓存重点解析

Redis 缓存重点解析 推荐文章:【Redis】Redis的特性和应用场景 数据类型 持久化 数据淘汰 事务 多机部署-CSDN博客 1. 我看你的项目都用到了 Redis,你在最近的项目的哪些场景下用到了 Redis 呢? 一定要结合业务场景来回答问题&#x…

数字化转型导师坚鹏:成为数字化转型顾问 引领数字化美好未来

成为数字化转型顾问 引领数字化美好未来 ——数字化人才与企业的共赢之路 数字经济新时代,中国企业向数字化转型要效益; 转型顾问创未来,职场精英借数字化转型成良师。 我们中国政府特别重视数字经济发展及数字化人才培养。早在2020年8月2…

消息队列-kafka-服务端处理架构(架构,Topic文件结构,服务端数据的一致性)

服务端处理架构 资料来源于网络 网络线程池: 接受请求,num.network.threads,默认为 3,专门处理客户的发送的请求。 IO 线程池: num.io.threads,默认为 8,专门处理业务请求。也就是它不负责发…

浅析扩散模型与图像生成【应用篇】(六)——DiffuseIT

6. Diffusion-based Image Translation using Disentangled Style and Content Representation 本文介绍了一种基于扩散模型的图像转换方法,图像转换就是根据文本引导或者图像的引导,将源图像转换到目标域中,如下图所示。   在图像转换中待…

拼多多3.9元的手机支架,在视频号卖15.9元

关注卢松松,会经常给你分享一些我的经验和观点。 万万没想到:拼多多3.9元的手机支架,在视频号竟然要卖15.9元。 更让人想不到的是:视频号商家竟然是从拼多多发货的,足足赚了4倍差价。 更更更让人想不到的是&#xff1a…

Vanna-ai -基于RAG的TextToSql实现方案

官方连接:Vanna.AI - Personalized AI SQL Agent 1.背景 基于大模型的TextToSql的关键为给大模型提供正确有效的数据库信息及问题,以提升大模型生成sql的正确率。database_info question形成prompt,但是实际中通常会遇到一个问题&#xff…