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/