MybatisInterceptor使用详解

MybatisInterceptor对需要执行的sql前进行数据处理,例如: 新增时自动添加创建人,创建时间; 更新时自动添加更新人,更新时间。 拦截器原理介绍参考下述大佬博客: 以下对拦截器debug,查看使用过程。

新增操作

判断当前sql类型是否是insert,遍历所有的入参。判断入参是不是需要自动设置值,然后进行赋值处理 createBy,createByName,createTime赋值成功之后执行具体的sql sql

INSERT INTO
STUDENT ( id, student_name, age, sex, CREATE_BY, CREATE_BY_NAME, CREATE_TIME, IS_DELETE ) 
VALUES ( 1501370882696634370, 张三, 18, 1, xiaoming, 小明, 2022-03-09 09:27:26.719, 0 );

更新操作

parameter为 执行自动赋值后可以看出来invocation中第二个数组中参数已经变了 sql

UPDATE STUDENT SET student_name=张三, age=27, sex=1, UPDATE_BY=xiaoming, UPDATE_BY_NAME=小明, UPDATE_TIME=2022-03-09 09:58:32.519
 WHERE id=1501370882696634370;
经验分享 程序员 微信小程序 职场和发展