首页 > 其他分享 >saas架构之druid解析表名

saas架构之druid解析表名

时间:2023-02-06 12:22:27浏览次数:46  
标签:visitor saas System druid boundSql 表名 println out

    public void preHandle(BoundSql boundSql, RequestEntity requestEntity) {
        System.out.println("要执行的SQL:" + boundSql.getSql());
        System.out.println("要执行的SQL参数:" + Arrays.toString(boundSql.getParameters()));
// 用druid解析出表名
        List<String> tableNameList = new ArrayList<String>();
        String dbType = JdbcConstants.MYSQL;
        List<SQLStatement> stmtList = SQLUtils.parseStatements(boundSql.getSql(), dbType);
        for (SQLStatement sqlStatement : stmtList) {
            MySqlSchemaStatVisitor visitor = new MySqlSchemaStatVisitor();
            sqlStatement.accept(visitor);
            Map<TableStat.Name, TableStat> tables = visitor.getTables();
            System.out.println("druid解析sql的结果集:");
            System.out.println(tables);
            Set<TableStat.Name> tableNameSet = tables.keySet();
            for (TableStat.Name name : tableNameSet) {
                String tableName = name.getName();
                if (StrUtil.isNotBlank(tableName)) {
                    tableNameList.add(tableName);
                }
            }
        }
    }

 

标签:visitor,saas,System,druid,boundSql,表名,println,out
From: https://www.cnblogs.com/wujf/p/17095001.html

相关文章

  • 【Spring事物三千问】DataSource的设计和常用实现——Hikari、Druid
    javax.sql.DataSourcejavax.sql.DataSource是jdk提供的接口,各个连接池厂商和Spring都对DataSource进行了设计和实现。javax.sql.DataSource是连接到物理数据源的......
  • SaaS-API越权漏洞检测系统
    概述通过替换认证信息后重放请求,并对比数据包结果,判断接口是否存在越权漏洞特点支持HTTPS自动过滤图片/js/css/html页面等静态内容多线程检测,避免阻塞支持输出报表与完整的......
  • 大数据实时多维OLAP分析数据库Apache Druid入门分享-下
    @目录架构核心架构外部依赖核心内容roll-up预聚合列式存储Datasource和Segments位图索引数据摄取查询集群部署部署规划前置条件MySQL配置HDFS配置Zookeeper配置启动集群导......
  • jdbc+Druid工具类
    本文主要讲述使用druid连接池,将jdbc封装成工具类一.连接池  二.使用druid连接池在jdbc工具类的基础上,使用druid连接池,增加连接数量。hsp老师写的方式:/......
  • SpringBoot整合druid数据源
    SpringBoot默认使用HikariDataSource,但也可以整合外部DataSource。下面介绍SpringBoot_Druid整合整合有两种方式:1、starter整合 2、自定义整合1、starter整合2、自定......
  • 大数据实时多维OLAP分析数据库Apache Druid入门分享-上
    @目录概述定义MPP和Lambda补充说明概述特征适用场景不适用场景横向对比部署单机部署入门示例概述定义ApacheDruid官网地址https://druid.apache.org/ApacheDruid......
  • Druid连接池的使用
    本文主要讲述druid连接池连接数据库的操作步骤1.在libs中引入druid的jar包2.在src下引入druid.properties配置文件druid.properties配置文件如下:drive......
  • 聊聊如何利用apollo与druid整合实现数据源动态热切
    前言本文的素材来源与某次和朋友技术交流,当时朋友就跟我吐槽说apollo不如nacos好用,而且他们还因为apollo发生过一次线上事故。故事的背景大概是如下前阵子朋友部门的数......
  • druid数据源配置//往上粘就完事了
    spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedriver-class-name:com.mysql.jdbc.Driverurl:jdbc:mysql://localhost:3306/test......
  • 启科 QuTrunk+Runtime+QuSaaS+亚马逊云科技量子计算编程实战
    QuTrunk是启科量子自主研发的一款免费、开源、跨平台的量子计算编程框架,包括量子编程API、量子命令转译、量子计算后端接口等。它提供多种量子计算体验,提供本地量子计算......