快速学习mybatis框架
一.介绍Mybatis(主要从以下两点进行介绍)
1.MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。
2.Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。
二.mybatis框架原理图
三.架构流程图及其解释
1、 mybatis配置
SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。
mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。
2、 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂
3、 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行。
4、 mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。
5、 Mapped Statement也是mybatis一个底层封装对象,它包装了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个Mapped Statement对象,sql的id即是Mapped statement的id。
6、 Mapped Statement对sql执行输入参数进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql前将输入的java对象映射至sql中,输入参数映射就是jdbc编程中对preparedStatement设置参数。
7、 Mapped Statement对sql执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql后将输出结果映射至java对象中,输出结果映射过程相当于jdbc编程中对结果的解析处理过程。
最新文章
- opencv 抠图联通块(c接口)
- Python导入Scipy子模块时出错
- Mac OS环境变量配置(Android Studio之Gradle)
- LR_问题_如何将场景中的用户设置为百分比形式
- SQLite使用教程6 创建表
- Vm image download resource
- Struts2 学习笔记16 struts标签 part2
- iOS 如何随意的穿插跳跃,push来pop去
- Exception in thread "main" org.hibernate.MappingException: You may only specify a cache for root
- Python基础篇(三)
- JavaScript(第二十六天)【表单处理】
- Struts+Hibernate+jsp页面,实现分页
- (2):Mysql 查看、创建、更改 数据库和表
- ArcGIS AddIN 与ArcMap自带工具进行交互
- http协议文件与数据上传、及上传图片io流错误
- asp.net button控件 使用JS的 disabled
- 【转】XP_cmdshell存储过程
- 获取SQL Server数据库中的表和字段描述
- dd命令的conv=fsync,oflag=sync/dsync
- 前端IDE:VSCode + WebStorm
热门文章
- [国家集训队2010]小Z的袜子
- RxJava如何结合观察者与链式处理
- ISO 7064:1983.MOD11-2校验码计算法 : (身份证校验码-18位)
- Android: MediaRecorder start failed
- zoj 1880 - Tug of War
- LeetCode 645. Set Mismatch (集合不匹配)
- 关于ZEDboard
- 并行运维工具pssh的安装及实战应用
- 第二章、Tiny4412 U-BOOT移植二 启动分析【转】
- JavaScript Patterns 2.1 Writing Maintainable Code