阅读 270

MybatisPlus之常用插件(mybatisplus使用教程)

Mybatis插件机制原理

MyBatis允许你在已映射语句执⾏过程中的某⼀点进⾏拦截调⽤。

默认情况下,MyBatis允许使⽤插件来拦截的⽅法调⽤包括:

  • 1.Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)

  • 2.ParameterHandler (getParameterObject, setParameters)

  • 3.ResultSetHandler (handleResultSets, handleOutputParameters)

  • 4.StatementHandler (prepare, parameterize, batch, update, query)

我们看到了可以拦截Executor接⼝的部分⽅法,⽐如update,query,commit,rollback等⽅法,还有其他接⼝的⼀些⽅法等。

总体概括为:

  • 1.拦截执⾏器的⽅法

  • 2.拦截参数的处理

  • 3.拦截结果集的处理

  • 4.拦截Sql语法构建的处理

拦截器示例

注⼊到Spring容器

xml配置,mybatis-config.xml

执⾏分析插件

在MP中提供了对SQL执⾏的分析的插件,可⽤作阻断全表更新、删除的操作,注意:该插件仅适⽤于开发环境,不适⽤于⽣产环境。

  • SpringBoot配置

  • 测试

  • 结果

可以看到,当执⾏全表更新时,会抛出异常,这样有效防⽌了⼀些误操作。

性能分析插件

性能分析拦截器,⽤于输出每条SQL语句及其执⾏时间,可以设置最⼤执⾏时间,超过时间会抛出异常。

waring 该插件只⽤于开发环境,不建议⽣产环境使⽤。

配置

  • javaconfig⽅式

  • xml⽅式

  • 执⾏结果

可以看到,执⾏时间为11ms。如果将maxTime设置为1,那么,该操作会抛出异常。

乐观锁插件


作者:努力的IT小胖子
链接:https://juejin.cn/post/7037047335490158599

 伪原创工具 SEO网站优化  https://www.237it.com/ 


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐