@Intercepts({
@Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class})
})
public class PrepareInterceptor implements Interceptor {
@Autowired
private OAuthUtils oAuthUtils;
@Override
public Object intercept(Invocation invocation) throws Throwable {
MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
Object object = invocation.getArgs()[1];
// sql类型
SqlCommandType sqlCommandType = mappedStatement.getSqlCommandType();
UserInfo userInfo = oAuthUtils.getUserInfo();
if (SqlCommandType.INSERT.equals(sqlCommandType)) {
// 插入操作
if (object instanceof DefaultSqlSession.StrictMap) {
// FIXME 批量操作(还有没有别的方式判断?)
Map map = (DefaultSqlSession.StrictMap) object;
List list = (List) map.get("list");
for (Object o : list) {
reflectCreateInfo(o);
}
} else {
// 单行
reflec
mybatis自定义拦截器设置createBy&createTime
最新推荐文章于 2025-04-15 11:02:24 发布