当前位置: 首页 > news >正文

SSM框架-mybatis

简介

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

原理

797576-20190906164859357-426609179.png
1、 mybatis应用程序通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件(也可以用Java文件配置的方式,需要添加@Configuration)中构建出SqlSessionFactory(SqlSessionFactory是线程安全的);
2、 SqlSessionFactory的实例直接开启一个SqlSession,再通过SqlSession实例获得Mapper对象并运行Mapper映射的SQL语句,完成对数据库的CRUD和事务提交,之后关闭SqlSession。
3、 Executor 执行器:MyBatis 底层定义了一个 Executor 接口来操作数据库,它将根据 SqlSession 传递的参数动态地生成需要执行的 SQL 语句,同时负责查询缓存的维护。
4、 MappedStatement 对象:在 Executor 接口的执行方法中有一个 MappedStatement 类型的参数,该参数是对映射信息的封装,用于存储要映射的 SQL 语句的 id、参数等信息。
5、 输入参数映射:输入参数类型可以是 Map、List 等集合类型,也可以是基本数据类型和 POJO 类型。输入参数映射过程类似于 JDBC 对 preparedStatement 对象设置参数的过程。
6、 输出结果映射:输出结果类型可以是 Map、 List 等集合类型,也可以是基本数据类型和 POJO 类型。输出结果映射过程类似于 JDBC 对结果集的解析过程。

转载于:https://www.cnblogs.com/monkay/p/11475814.html

相关文章:

  • 微软3389远程漏洞CVE-2019-0708批量检测工具
  • 浅谈 赛马问题
  • JDK配置
  • 数据库模糊查询
  • C#视频拍照、视频录制项目示例
  • shell每隔一秒钟就记录下netstat状态
  • Java打包配置
  • Web前端之HTML
  • 数据结构与算法
  • Web前端之CSS基础
  • JAVA实现HTTP请求
  • 顺序存储结构与链式存储结构
  • Apache Kafka(九)- Kafka Consumer 消费行为
  • xray写POC踩坑
  • 对 Watchbog Botnet 渗透过程和 Payload 的分析
  • ES6指北【2】—— 箭头函数
  • 2017 前端面试准备 - 收藏集 - 掘金
  • CSS 提示工具(Tooltip)
  • Docker容器管理
  • Effective Java 笔记(一)
  • JS变量作用域
  • JS函数式编程 数组部分风格 ES6版
  • laravel 用artisan创建自己的模板
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Phpstorm怎样批量删除空行?
  • Webpack 4x 之路 ( 四 )
  • Zepto.js源码学习之二
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用SAX解析XML
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 阿里云服务器如何修改远程端口?
  • #NOIP 2014# day.2 T2 寻找道路
  • (4)STL算法之比较
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (转)Google的Objective-C编码规范
  • ... 是什么 ?... 有什么用处?
  • ./configure,make,make install的作用
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET 分布式技术比较
  • .NET开发人员必知的八个网站
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • /proc/stat文件详解(翻译)
  • ;号自动换行
  • @RunWith注解作用
  • @SpringBootApplication 包含的三个注解及其含义
  • [2016.7 day.5] T2
  • [22]. 括号生成