远方的灯塔 - 专注于服务端技术分享 远方的灯塔 - 专注于服务端技术分享
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)

Terwer Green

一个后端老菜鸟
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)
terwer
2023-02-22
目录

MyBatis机制介绍与原理

# 插件简介

什么是插件

插件是一种软件组件,可以在另一个软件程序中添加功能或特性。插件通常被设计成可以==随时添加或删除==的,而不影响==主程序==的功能。插件可以==扩展==软件程序的功能,这让用户可以根据自己的需求定制软件,提高工作效率。常见的插件包括浏览器插件、音频和视频编辑软件的特效插件、图形处理软件的滤镜插件等。

# MyBatis 插件介绍

MyBatis 作为一个通用的 DAO 层框架,也提供了插件的机制,例如:我们可以用插件实现分页、分表、监控等功能。

MyBatis 在四大组件(==Exector==、==StatmentHandler==、==ParameterHandler==、==ResultSetHandler==)处提供了强大的==插件扩展==机制。

MyBatis 对持久层的操作依赖于这四大核心组件对象。MyBatis 支持通过插件对四大核心组件进行拦截,对 MyBatis 来说,插件就是拦截器,用来增强和信息对象的功能。增强功能底层是借助于 ==JDK 的动态代理==来实现的,也就是说, MyBatis 的四大核心组件本质上都是代理对象。

总之,MyBatis 的四大核心组件和扩展点提供了灵活和可扩展的持久层操作方式,使得开发人员可以根据具体的应用场景来选择适合的方式来操作数据库。同时,插件机制也提供了一种简单、方便的方式来增强 MyBatis 的功能,扩展 MyBatis 的能力。

​​

# MyBatis 允许拦截的方法

  • 执行器 Executor (==update==、==query==、==commit==、==rollback== 等方法)
  • Sql 语法构造器 StatementHandler(==prepare==、==parameterize==、==batch==、==updates==、==query== 等方法)
  • 参数处理器 ParameterHandler(==getParameterObject==、==setParameters== 方法)
  • 结果集处理器 ResultSetHandler(==handlerResultSets==、==handleOutputParameters== 方法)

# MyBatis 插件的原理

参考 Mybatis基本流程 (opens new window)

​image​

​image​

​这是个图片锚文本​

​image​

​image​

编辑 (opens new window)
#插件#功能#组件#可以#扩展
上次更新: 2023/03/25, 15:04:14
最近更新
01
解决css部分border被圆角切掉之后圆角的边框消失问题
03-18
02
使用TypeScript开发一个自定义的Node-js前端开发脚手架
03-08
03
Github-Actions使用release-please实现自动发版
03-06
更多文章>
Theme by Vdoing | Copyright © 2011-2023 Terwer Green | MIT License | 粤ICP备2022020721号-1 | 百度统计
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式