当前位置: 首页 > news >正文

可以做天猫代码的网站重庆专业网站推广平台

可以做天猫代码的网站,重庆专业网站推广平台,景泰做网站,用凡科做网站的费用新建mybatis的statementHander拦截器拦截器 类 面试题#xff1a; 2.实现 解析Sql时引入JSqlParser JSqlParser 是一个 SQL 语句解析器。 它将 SQL转换为可遍历的 Java 类层次结构。 dependencygroupIdcom.github.jsqlparser/groupIdartifac…新建mybatis的statementHander拦截器拦截器 类 面试题 2.实现 解析Sql时引入JSqlParser JSqlParser 是一个 SQL 语句解析器。 它将 SQL转换为可遍历的 Java 类层次结构。  dependencygroupIdcom.github.jsqlparser/groupIdartifactIdjsqlparser/artifactIdversion4.6/version/dependency 添加拦截器代码 package com.yy.config;import cn.hutool.core.collection.CollUtil; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.smart.model.LocalUser; import cn.smart.util.ThreadlocalUtil; import com.yy.entity.BaseEntity; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.insert.Insert; import net.sf.jsqlparser.statement.update.Update; import net.sf.jsqlparser.statement.update.UpdateSet; import org.apache.ibatis.executor.parameter.ParameterHandler; import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.plugin.Intercepts; import org.apache.ibatis.plugin.Invocation; import org.apache.ibatis.plugin.Signature; import org.springframework.stereotype.Component;import java.sql.PreparedStatement; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;Component Intercepts({// 指定要拦截的方法签名这里是拦截Executor的update方法Signature(type StatementHandler.class, method update, args {Statement.class}),// 可以添加更多要拦截的方法签名... }) public class StatementHanderInterceptor implements Interceptor {private static ListString tables CollUtil.newArrayList(product,category);private static MapString,ListString tableColumns new HashMap();static {tableColumns.put(product,CollUtil.newArrayList(name,price));}Overridepublic Object intercept(Invocation invocation) throws Throwable {StatementHandler statementHandler (StatementHandler)invocation.getTarget();//要想监控表首先要从拦截器中拿到sql语句看sql语句干了什么对那些表和那些字段做了什么BoundSql boundSql statementHandler.getBoundSql();String sql boundSql.getSql(); // 使用JSqlParser解析器解析sql语句net.sf.jsqlparser.statement.Statement statement CCJSqlParserUtil.parse(sql);if(statement instanceof Update){Update update (Update)statement;String name update.getTable().getName();if(tables.contains(name)){ListString updataSets tableColumns.get(name);ArrayListUpdateSet updateSets update.getUpdateSets();for (UpdateSet updateSet : updateSets) {String columnName updateSet.getColumns().get(0).getColumnName();if(updataSets.contains(columnName)){sendMessage( 修改了字段updateSet,name);}}}}else if(statement instanceof Insert){Table table ((Insert) statement).getTable();String name table.getName();if(tables.contains(name)){sendMessage(添加了数据,name);}}return invocation.proceed();}private void sendMessage(String option,String tableName){String url https://oapi.dingtalk.com/robot/send?access_token1cfb9a7b20e849a26b572a8ff98f62ee2a220028cd1452901a486e131435621f;JSONArray array new JSONArray();array.add(18236435312);JSONObject msg new JSONObject();msg.set(msgtype,text);msg.set(text,new JSONObject().set(content,警告ThreadlocalUtil.get().getNickName()- option 表名是tableName));msg.set(at,new JSONObject().set(atMobiles,array));String json JSONUtil.toJsonStr(msg);String body HttpRequest.post(url).body(json).execute().body();}}遇到的问题 因为这个pagehelper是从stater中继承过来的可以在stater中也加一个4.6版本的jsqlparser依赖
http://www.hkea.cn/news/14561831/

相关文章:

  • 做ip资讯的网站微信商城在哪里进入
  • 中 网站建设 扬州百度seo策略
  • 建网站用什么程序好wordpress 浮动 插件
  • 网站建设策划书格式网站模板尺寸
  • 怀化市住房和城乡建设局网站国内十大跨境电商平台
  • 网站建设玖金手指排名14无锡网页设计培训公司
  • 大理住房和城乡建设部网站一台服务做两个网站
  • 深圳服装网站建设网页升级访问每天
  • 一级a做爰片 网站就能看产品市场推广途径
  • 郑州专业制作网站多少钱wordpress头部优化
  • 宝安网站建设定制阳江市问政平台举报
  • 网站后台为什么传不上图片网站开发的方法有哪些
  • 欧美风的网站设计网上商店的优势和缺陷
  • 市场策划网站抖音投放广告价格一览
  • 创建网站忘记了怎么办建设织梦网站模板
  • 黑彩网站建设运营wordpress收费下载模板
  • 培训机构 网站建设wordpress添加友情链接页面
  • 怎么自己做网站赚钱吗北京网站编程培训
  • 怎么学习制作网站百度搜索推广官网
  • 全网通网站建设网站群如何做网站
  • 建设工程安全备案网站平台公司和项目公司的区别
  • me域名网站做seo网站公司
  • 动易网站内容管理系统电视剧排行榜
  • 可以免费进入的网站正能量域名苏宁易购网站建设建议
  • 做网站 违法建设工程服务平台
  • 绍兴优秀做网站的wordpress用户上传
  • 酒店设计网站推荐网站建设杭州哪家便宜
  • 中文域名注册 .网站软考网络工程师中级
  • 中国商标注册网官方网站小程序代理是做什么的
  • 局网站建设情况一级a做爰片i网站